/[suikacvs]/markup/selectors/ssft/ssft-work.en.html
Suika

Diff of /markup/selectors/ssft/ssft-work.en.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by wakaba, Tue Oct 2 10:13:58 2007 UTC revision 1.10 by wakaba, Mon Oct 15 01:00:52 2007 UTC
# Line 10  Line 10 
10  <div class="header">  <div class="header">
11  <h1>Selectors Serialization Format for Testing (<abbr>SSFT</abbr>)  <h1>Selectors Serialization Format for Testing (<abbr>SSFT</abbr>)
12  Specification</h1>  Specification</h1>
13  <h2>Working Draft <time datetime=2007-10-02>2 October 2007</time></h2>  <h2>Working Draft <time datetime=2007-10-15>15 October 2007</time></h2>
14    
15  <dl class="versions-uri">  <dl class="versions-uri">
16  <dt>This Version</dt>  <dt>This Version</dt>
# Line 63  available at <code class="URI">&lt;<a Line 63  available at <code class="URI">&lt;<a
63  at the time of its publication.  Other documents  at the time of its publication.  Other documents
64  might supersede this document.</em></p>  might supersede this document.</em></p>
65    
66  <p>This document is a working draft, produced as part  <p>This document is a working draft, produced as part of the
67    <a href="http://suika.fam.cx/www/markup/html/whatpm/readme">Whatpm</a>
68    subproject
69  of the <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a>  of the <a href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai</a>
70  project.  It might be updated, replaced, or obsoleted by  project.  It might be updated, replaced, or obsoleted by
71  other documents at any time.  It is inappropriate to  other documents at any time.  It is inappropriate to
# Line 80  normative version.</p> Line 82  normative version.</p>
82  <div id="introduction" class="section">  <div id="introduction" class="section">
83  <h2>Introduction</h2>  <h2>Introduction</h2>
84    
85  <p class=section-info>This section is <em>non-normative</em>.</p>  <p class=section-info>This section is <em>non$B!>(Bnormative</em>.</p>
86    
87  <p>Selectors  <p>Selectors
88  <cite class="bibref normative">[<a href="#ref-SELECTORS">SELECTORS</a>]</cite>  <cite class="bibref normative">[<a href="#ref-SELECTORS">SELECTORS</a>]</cite>
# Line 116  in not escaping unsafe identifiers.</p> Line 118  in not escaping unsafe identifiers.</p>
118  <div class="section" id="terminology">  <div class="section" id="terminology">
119  <h2>Terminology</h2>  <h2>Terminology</h2>
120    
121  <p>The key words <q><em class="rfc2119">MUST</em></q>,  <p>The key words <q><dfn id=must><em class="rfc2119">MUST</em></dfn></q>,
122  <q><em class="rfc2119">MUST NOT</em></q>,  <q><dfn id=must-not><em class="rfc2119">MUST NOT</em></dfn></q>,
123  <q><em class="rfc2119">SHOULD</em></q>,  <q><dfn id=should><em class="rfc2119">SHOULD</em></dfn></q>,
124  <q><em class="rfc2119">SHOULD NOT</em></q>, and  <q><dfn id=should-not><em class="rfc2119">SHOULD NOT</em></dfn></q>, and
125  <q><em class=rfc2119>MAY</em></q> in this  <q><dfn id=may><em class=rfc2119>MAY</em></dfn></q> in this
126  document are to be interpreted as described in  document are to be interpreted as described in
127  <a href="urn:ietf:rfc:2119"><abbr title="Request for Comments">RFC</abbr>  <a href="urn:ietf:rfc:2119"><abbr title="Request for Comments">RFC</abbr>
128  2119</a>  2119</a>
129  <cite class="bibref normative">[<a href="#ref-KEYWORDS">KEYWORDS</a>]</cite>.</p>  <cite class="bibref normative">[<a href="#ref-KEYWORDS">KEYWORDS</a>]</cite>.</p>
130    
131  <!-- Strictly speaking the paragraph below is not part of terminology. -->  <!-- Strictly speaking the paragraph below is not part of terminology. -->
132  <p>All examples and notes in this specification are non-normative,  <p>All examples and notes in this specification are non$B!>(Bnormative,
133  as are all sections explicitly marked non-normative.  Everything  as are all sections explicitly marked non$B!>(Bnormative.  Everything
134  else in this specification is normative.</p>  else in this specification is normative.</p>
135    
136    <p>For the purpose of this specification, pseudo$B!>(Belements are also
137    referred to as <dfn title="simple selector" id=simple-selector>simple
138    selectors</dfn> and are considered as part of the last sequence of
139    simple selector in a selector.</p>
140  </div>  </div>
141    
142  <div class="section" id="serializing">  <div class="section" id="serializing">
# Line 140  else in this specification is normative. Line 147  else in this specification is normative.
147  for now.</p>  for now.</p>
148  </div>  </div>
149    
150  <p><dfn id=newline>Newline</dfn> is <code class=char>U+000A</code>  <p>No <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
151  <code class=charname>LINE FEED</code> <span class=ed>or  representation is defined for an invalid group of selectors.</p>
152  U+000D U+000A or U+000A ??</span>.</p>  
153    <div class="note memo">
154    <p>The serialized representation will not contain any comment.</p>
155    </div>
156    
157  <!-- TODO: link terms to Selectors -->  <!-- TODO: link terms to Selectors -->
158    
159  <p>To <dfn id=algorithm-serialize-a-group-of-selectors>serialize a group of  <p>To
160  selectors</dfn> (<dfn id=var-gs><var>gs</var></dfn>):</p>  <dfn id=algorithm-serialize-a-group-of-selectors title="serialize a group of selectors">serialize
161    a group of selectors (<dfn id=var-gs><var>gs</var></dfn>)</dfn>:</p>
162  <ol>  <ol>
163  <li>Let <dfn id=var-result><var>result</var></dfn> an empty string.</li>  <li>Let <dfn id=var-result><var>result</var></dfn> an empty string.</li>
164  <li>For each selector (<dfn id=var-selector><var>selector</var></dfn>) in  <li>For each selector (<dfn id=var-selector><var>selector</var></dfn>) in
# Line 155  selectors</dfn> (<dfn id=var-gs><var>gs< Line 166  selectors</dfn> (<dfn id=var-gs><var>gs<
166    <ol>    <ol>
167    <li>If <var>selector</var> is <em>not</em> the first selector    <li>If <var>selector</var> is <em>not</em> the first selector
168    in the group of selectors, then append a <code class=char>U+002C</code>    in the group of selectors, then append a <code class=char>U+002C</code>
169    <code class=charname>COMMA</code> followed by a    <code class=charname>COMMA</code> (<code class=char>,</code>) followed by a
170    <a href="#newline">newline</a> to <var>result</var>.</li>    <a href="#newline">newline</a> to <var>result</var>.</li>
171    <li>Append four <code class=char>U+0020</code>    <li>Append four <code class=char>U+0020</code>
172    <code class=charname>SPACE</code> characters to <var>result</var>.</li>    <code class=charname>SPACE</code> characters to <var>result</var>.</li>
# Line 164  selectors</dfn> (<dfn id=var-gs><var>gs< Line 175  selectors</dfn> (<dfn id=var-gs><var>gs<
175      <dl class=switch>      <dl class=switch>
176      <dt>If it is a sequence of simle selector      <dt>If it is a sequence of simle selector
177      (<dfn id=var-sss><var>sss</var></dfn>)</dt>      (<dfn id=var-sss><var>sss</var></dfn>)</dt>
178        <dd class=ed>@@</dd>        <dd>
179            <ol>
180            <li class=ed><a href="#algorithm-serialize-a-simple-selector">Serialize
181            each simple selector</a> in <var>sss</var>.</li>
182            <li class=ed>sort</li>
183            <li>Append a <a href="#newline">newline</a> to <var>result</var>.</li>
184            </ol>
185          </dd>
186      <dt>If it is a combinator (<dfn id=var-c><var>c</var></dfn>)</dt>      <dt>If it is a combinator (<dfn id=var-c><var>c</var></dfn>)</dt>
187        <dd>        <dd>
188          <ol>          <ol>
# Line 179  selectors</dfn> (<dfn id=var-gs><var>gs< Line 197  selectors</dfn> (<dfn id=var-gs><var>gs<
197            <dt>If <var>c</var> is child combinator            <dt>If <var>c</var> is child combinator
198            (<code class=char>></code>)</dt>            (<code class=char>></code>)</dt>
199              <dd>Append a <code class=char>U+003E</code>              <dd>Append a <code class=char>U+003E</code>
200              <code class=charname>GREATER-THAN SIGN</code> character to              <code class=charname>GREATER-THAN SIGN</code>
201              <var>result</var>.</dd>              (<code class=char>></code>) character to <var>result</var>.</dd>
202            <dt>If <var>c</var> is adjacent sibling combinator            <dt>If <var>c</var> is adjacent sibling combinator
203            (<code class=char>+</code>)</dt>            (<code class=char>+</code>)</dt>
204              <dd>Append a <code class=char>U+002B</code>              <dd>Append a <code class=char>U+002B</code>
205              <code class=charname>PLUS SIGN</code> character to              <code class=charname>PLUS SIGN</code> (<code class=char>+</code>)
206              <var>result</var>.</dd>              character to <var>result</var>.</dd>
207            <dt>If <var>c</var> is general sibling combinator            <dt>If <var>c</var> is general sibling combinator
208            (<code class=char>~</code>)</dt>            (<code class=char>~</code>)</dt>
209              <dd>Append a <code class=char>U+007E</code>              <dd>Append a <code class=char>U+007E</code>
210              <code class=charname>TILDE</code> character to              <code class=charname>TILDE</code> (<code class=char>~</code>)
211              <var>result</var>.</dd>              character to <var>result</var>.</dd>
212            </dl>            </dl>
213          </li>          </li>
214          <li>Append a <code class=char>U+0020</code>          <li>Append a <code class=char>U+0020</code>
# Line 202  selectors</dfn> (<dfn id=var-gs><var>gs< Line 220  selectors</dfn> (<dfn id=var-gs><var>gs<
220    </ol>    </ol>
221  </li>  </li>
222  <li>Then, <var>result</var> is the  <li>Then, <var>result</var> is the
223  <abbr title="Selectors Serialization Format for Testing">SFFT</abbr>  <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
224  representation of the group of selectors.</li>  representation of <var>gs</var>.</li>
225  </ol>  </ol>
226    
227  <p>To <dfn id=algorithm-serialize-a-simple-selector>serialize a simple  <p>To
228  selector</dfn> (<dfn><var id=var-ss>ss</var></dfn>):</p>  <dfn id=algorithm-serialize-a-simple-selector title="serialize a simple selector">serialize
229    a simple selector (<dfn><var id=var-ss>ss</var></dfn>)</dfn>:</p>
230  <dl class=switch>  <dl class=switch>
231  <dt>If <var>ss</var> is a type or universal selector</dt>  <dt>If <var>ss</var> is a type or universal selector</dt>
232    <dd><dl class=switch>    <dd>
233    <dt>If a namespace URI is specified (via namespace prefix, or      <ol>
234    by omitting namespace prefix where a default namespace is specified)</dt>      <li>
235      <dd class="ed">@@</dd>        <dl class=switch>
236    <dt>If the null namespace is specified (by zero$B!>(Blength namespace        <dt>If a namespace URI is specified (via namespace prefix, or
237    prefix)</dt>        by omitting namespace prefix where a default namespace is specified)</dt>
238      <dd>Return a <code class=char>U+007C</code> <code class=charname>VERTICAL          <dd class="ed">@@</dd>
239      BAR</code> character, followed by either local name (if <var>ss</var>        <dt>If the null namespace is specified (by zero$B!>(Blength namespace
240      is a type selector) or a <code class=char>U+002A</code>        prefix)</dt>
241      <code class=charname>ASTERISK</code> character (if <var>ss</var>          <dd>Append a <code class=char>U+007C</code>
242      is a universal selector).</dd>          <code class=charname>VERTICAL BAR</code> (<code class=char>|</code>)
243    <dt>If no namespace is specified (by namespace prefix <code>*</code>,          character to <var>result</var>.</dd>
244    or by omitting namespace prefix where no default namespace is specified)</dt>        <dt>If no namespace is specified (by namespace prefix <code>*</code>,
245      <dd>Return a <code class=char>U+002A</code>        or by omitting namespace prefix where no default namespace is
246      <code class=charname>ASTERISK</code> character, followed by a        specified)</dt>
247      <code class=char>U+007C</code> <code class=charname>VERTICAL BAR</code>          <dd>Append a <code class=char>U+002A</code>
248      character, followed by either local name (if <var>ss</var>          <code class=charname>ASTERISK</code> (<code class=char>*</code>)
249      is a type selector) or a <code class=char>U+002A</code>          character, followed by a <code class=char>U+007C</code>
250      <code class=charname>ASTERISK</code> character (if <var>ss</var>          <code class=charname>VERTICAL BAR</code> (<code class=char>|</code>)
251      is a universal selector).</dd>          character, to <var>result</var>.</dd>
252    </dl></dd>        </dl>
253  <dt class=ed>@@</dt>      </li>
254        <li>If <var>ss</var> is a type selector, append the
255        <span class=ed>@@ normalized</span> local name to <var>result</var>.</li>
256        <li>If <var>ss</var> is a universal selector, append
257        a <code class=char>U+002A</code> <code class=charname>ASTERISK</code>
258        (<code class=char>*</code>) character to <var>result</var>.</li>
259        </ol>
260      </dd>
261    <dt>If <var>ss</var> is an attribute selector</dt>
262      <dd>
263        <ol>
264        <li>Append a <code class=char>U+005B</code> <code class=charname>LEFT
265        SQUARE BRACKET</code> (<code class=char>[</code>) to
266        <var>result</var>.</li>
267        <li>
268          Append a namespace prefix as following:
269          <dl>
270          <dt>If a namespace URI is specified</dt>
271            <dd class=ed>@@</dd>
272            <dd class=ed>@@ Current reference implementation is wrong,
273            since its result of sorting depends on namespace prefix.</dd>
274          <dt>If the null namespace is specified</dt>
275            <dd>Append a <code class=char>U+007C</code>
276            <code class=charname>VERTICAL BAR</code> character to
277            <var>result</var>.</dd>
278          <dt>If no namespace is specified</dt>
279            <dd>Append a <code class=char>U+002A</code>
280            <code class=charname>ASTERISK</code> (<code class=char>*</code>)
281            character, followed by a <code class=char>U+007C</code>
282            <code class=charname>VERTICAL BAR</code> (<code class=char>|</code>)
283            character, to <var>result</var>.</dd>
284          </dl>
285        </li>
286        <li>Append the <span class=ed>@@ normalized</span> local name to
287        <var>result</var>.</li>
288        <li>If a value is specified in <var>ss</var>:
289          <ol>
290          <li>Depending on the way to match, append <code>=</code>,
291          <code>~=</code>, <code>|=</code>, <code>^=</code>,
292          <code>$=</code>, or <code>*=</code> to <var>result</var>.</li>
293          <li>Append the <span class=ed>@@ normalized</span> value to
294          <var>result</var>.</li>
295          </ol>
296        </li>
297        <li>Append a <code class=char>U+005D</code> <code class=charname>RIGHT
298        SQUARE BRACKET</code> (<code class=char>]</code>) to
299        <var>result</var>.</li>
300        </ol>
301      </dd>
302    <dt>If <var>ss</var> is a class selector</dt>
303      <dd>Append a <code class=char>U+002E</code> <code class=charname>FULL
304      STOP</code> (<code class=char>.</code>) character, followed
305      by <span class=ed>@@ normalized</span> class name,
306      <var>result</var>.</dd>
307    <dt>If <var>ss</var> is an <abbr>ID</abbr> selector</dt>
308      <dd>Append a <code class=char>U+0023</code> <code class=charname>NUMBER
309      SIGN</code> (<code class=char>#</code>) character, followed
310      by <span class=ed>@@ normalized</span> <abbr>ID</abbr>,
311      to <var>result</var>.</dd>
312    <dt>If <var>ss</var> is a pseudo$B!>(Bclass selector</dt>
313      <dd>
314        <ol>
315        <li>Append a <code class=char>U+003A</code>
316        <code class=charname>COLON</code> (<code class=char>:</code>) character
317        to <var>result</var>.</li>
318        <li>Append the <span class=ed>@@ normalized</span> name of the
319        pseudo$B!>(Bclass to <var>result</var>.</li>
320        <li>Append any arguments as following:
321          <dl class=switch>
322          <dt>If the name of the pseudo$B!>(Bclass is <code>lang</code></dt>
323            <dd>
324              <ol>
325              <li>Append a <code class=char>U+0028</code> <code class=charname>LEFT
326              PARENTHESIS</code> (<code class=char>(</code>) character
327              to <var>result</var>.</li>
328              <li>Append <span class=ed>@@ normalized</span>
329              language tag (the argument) to <var>result</var>.</li>
330              <li>Append a <code class=char>U+0029</code>
331              <code class=charname>RIGHT PARENTHESIS</code>
332              (<code class=char>)</code>) character
333              to <var>result</var>.</li>
334              </ol>
335            </dd>
336          <dt>If the name of the pseudo$B!>(Bclass is
337          <code>-manakai-contains</code></dt>
338            <dd>
339              <ol>
340              <li>Append a <code class=char>U+0028</code> <code class=charname>LEFT
341              PARENTHESIS</code> (<code class=char>(</code>) character
342              to <var>result</var>.</li>
343              <li>Append <span class=ed>@@ normalized</span>
344              string (the argument) to <var>result</var>.</li>
345              <li>Append a <code class=char>U+0029</code>
346              <code class=charname>RIGHT PARENTHESIS</code>
347              (<code class=char>)</code>) character
348              to <var>result</var>.</li>
349              </ol>
350            </dd>
351          <dt>If name of the pseudo$B!>(Bclass is either <code>nth-child</code>,
352          <code>nth-last-child</code>, <code>nth-of-type</code>, or
353          <code>nth-last-of-type</code></dt>
354            <dd>
355              <ol>
356              <li>Append a <code class=char>U+0028</code> <code class=charname>LEFT
357              PARENTHESIS</code> (<code class=char>(</code>) character
358              to <var>result</var>.</li>
359              <li>Append <span class=ed>@@ normalized</span>
360              integer <var>a</var> to <var>result</var>.
361              If the argument is a keyword <code>odd</code> or <code>even</code>,
362              <var>a</var> is <code>2</code>.  If <var>a</var> and
363              <code>n</code> is omitted, <var>a</var> is assumed as
364              <code>0</code>.  Otherwise, if <var>a</var> is omitted,
365              it is assumed as <code>1</code> (or <code>-1</code>,
366              if there is a <code class=char>U+002D</code>
367              <code class=charname>HYPHEN-MINUS</code> (<code class=char>-</code>)
368              character).</li>
369              <li>Append a <code class=char>U+006E</code>
370              <code class=charname>LATIN SMALL LETTER N</code>
371              (<code class=char>n</code>) character to <var>result</var>.</li>
372              <li>Append <span class=ed>@@ normalized</span>
373              integer <var>b</var> to <var>result</var>.
374              It <em class=rfc2119>MUST</em> be preceded by a sign,
375              either <code class=char>U+002B</code> <code class=charname>PLUS
376              SIGN</code> (<code class=char>+</code>) or
377              <code class=char>U+002D</code>
378              <code class=charname>HYPHEN-MINUS</code> (<code class=char>-</code>)
379              character.  If the argument is a keyword <code>odd</code>,
380              <var>b</var> is <code>1</code>.  If the argument
381              is a keyword <code>even</code>, <var>b</var> is
382              <code>0</code>.  If <var>b</var> is omitted, it is assumed as
383              <code>0</code>.  The sign of <code>0</code>
384              <em class=rfc2119>MUST</em> be <code class=char>U+002B</code>
385              <code class=charname>PLUS SIGN</code>
386              (<code class=char>+</code>).</li>
387              <li>Append a <code class=char>U+0029</code>
388              <code class=charname>RIGHT PARENTHESIS</code>
389              (<code class=char>)</code>) character
390              to <var>result</var>.</li>
391              </ol>
392            </dd>
393          <dt>If the name of the pseudo$B!>(Bclass is <code>not</code></dt>
394            <dd>
395              <ol>
396                <li>Append a string of <code class=char>U+003A</code>
397                <code class=charname>COLON</code>, <code class=char>U+006E</code>
398                <code class=charname>LATIN SMALL LETTER N</code>,
399                <code class=char>U+006F</code> <code class=charname>LATIN
400                SMALL LETTER O</code>, <code class=char>U+0074</code>
401                <code class=charname>LATIN SMALL LETTER T</code>, and
402                <code class=char>U+0028</code> <code class=charname>LEFT
403                PARENTHESIS</code> (<code>:not(</code>), followed by a
404                <a href="#newline">newline</a>, to <var>result</var>.</li>
405                <li>Append four <code class=char>U+0020</code>
406                <code class=charname>SPACE</code> characters to
407                <var>result</var>.</li>
408                <li>Append four <code class=char>U+0020</code>
409                <code class=charname>SPACE</code> characters to
410                <var>result</var> again.</li>
411                <li><a href="#algorithm-serialize-a-simple-selector">Serialize
412                the simple selector specified as the argument to the
413                <code>not</code> pseudo$B!>(Bclass</a>.</li>
414                <li>Append a <a href="#newline">newline</a> to
415                <var>result</var>.</li>
416                <li>Append four <code class=char>U+0020</code>
417                <code class=charname>SPACE</code> characters to
418                <var>result</var>.</li>
419                <li>Append a <code class=char>U+0029</code>
420                <code class=charname>RIGHT PARENTHESIS</code>
421                (<code class=char>)</code>) character
422                to <var>result</var>.</li>
423              </ol>
424            </dd>
425          </dl>
426        </li>
427        </ol>
428      </dd>
429    <dt>If <var>ss</var> is a pseudo$B!>(Belement</dt>
430      <dd>
431        <ol>
432        <li>Append two <code class=char>U+003A</code>
433        <code class=charname>COLON</code> characters (<code>::</code>)
434        to <var>result</var>.</li>
435        <li>Append the <span class=ed>@@ normalized</span> name of the
436        pseudo$B!>(Belement to <var>result</var>.</li>
437        <!-- For future version: append "(", arguments, ")", if any. -->
438        </ol>
439      </dd>
440  </dl>  </dl>
441    
442    
443    <p>A <dfn id=newline title=newline>newline</dfn>
444    <em class=rfc2119>SHOULD</em> be represented as a
445    <code class=char>U+000A</code> <code class=charname>LINE FEED</code>
446    character.  However, depending on the context where
447    the <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
448    representation is in use, a sequence of
449    <code class=char>U+000D</code> <code class=charname>CARRIAGE RETURN</code>
450    followed by a <code class=char>U+000A</code>
451    <code class=charname>LINE FEED</code> (i.e. a
452    <code>CRLF</code> sequence) or a character
453    <code class=char>U+000D</code> <code class=charname>CARRIAGE RETURN</code>
454    <em class=rfc2119>MAY</em> be used as a <a href="#newline">newline</a> instead.
455    <a href="#newline">Newline</a> representations
456    <em class=rfc2119>SHOULD</em> be consistent in an
457    <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
458    representation.</p>
459    
460    <div class="note memo">
461    <p>Therefore, newlines must be normalized before
462    <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
463    representations are literally compared.</p>
464    </div>
465    
466  </div>  </div>
467    
468  <div class="section" id="parsing">  <div class="section" id="parsing">
469  <h2>Parsing  <h2>Parsing
470  <abbr title="Selectors Serialization Format for Testing">SFFT</abbr>  <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
471  Groups of Selectors</h2>  Groups of Selectors</h2>
472    
473  <p>Since <a href="#serializing">the serializing algorithm</a> is  <p>Since <a href="#serializing">the serializing algorithm</a> is
474  so designed that it always output a valid  so designed that it always output a valid
475  <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of  <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of
476  selectors</a>, no special parser for  selectors</a>, no special parser for the
477  <abbr title="Selectors Serialization Format for Testing">SFFT</abbr>  <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
478  is necessary.  Any conforming  representation is necessary.  Any conforming parser for
479  <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of  <a href="http://www.w3.org/TR/css3-selectors/#grouping">groups of
480  selectors</a> parser <em class=rfc2119>MAY</em> be used  selectors</a> <em class=rfc2119>MAY</em> be used
481  to parse <abbr title="Selectors Serialization Format for Testing">SFFT</abbr>  to parse <abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
482  groups of selectors.</p>  representations of groups of selectors.</p>
483  </div>  </div>
484    
485  <div class="section" id="examples">  <div class="section" id="examples">
486  <h2>Examples</h2>  <h2>Examples</h2>
487    
488  <p class=section-info>This section is <em>non-normative</em>.</p>  <p class=section-info>This section is <em>non$B!>(Bnormative</em>.</p>
489    
490  <div class="ed issue">  <div class="ed issue">
491  <p><a href="http://suika.fam.cx/gate/2007/css/parser-interface">Try demo</a>,  <p><a href="http://suika.fam.cx/gate/2007/css/parser-interface">Try demo</a>,
492  by choosing <q>Selectors</q> radio button.</a></p>  by choosing <q>Selectors</q> radio button.</p>
493    
494  <div class="example figure block">  <div class="example figure block">
495  <div class="caption">...</div>  <div class="caption">...</div>
# Line 273  by choosing <q>Selectors</q> radio butto Line 502  by choosing <q>Selectors</q> radio butto
502  </div>  </div>
503    
504  <div id="references" class="section reference">  <div id="references" class="section reference">
505  <h2>References</h1>  <h2>References</h2>
506    
507  <div id="normative-references" class="section normative reference">  <div id="normative-references" class="section normative reference">
508  <h3>Normative References</h3>  <h3>Normative References</h3>
# Line 297  by choosing <q>Selectors</q> radio butto Line 526  by choosing <q>Selectors</q> radio butto
526  </div>  </div>
527    
528  <div id="informative-references" class="section informative reference">  <div id="informative-references" class="section informative reference">
529  <h3>Non-normative References</h3>  <h3>Non$B!>(Bnormative References</h3>
530    
531  <dl>  <dl>
532  <dt id=ref-CSS>CSS</dt>  <dt id=ref-CSS>CSS</dt>
# Line 328  by choosing <q>Selectors</q> radio butto Line 557  by choosing <q>Selectors</q> radio butto
557    <code class=URI>&lt;<a href="http://dev.w3.org/2006/webapi/selectors-api/Overview.html">http://dev.w3.org/2006/webapi/selectors-api/Overview.html</a>></code>.    <code class=URI>&lt;<a href="http://dev.w3.org/2006/webapi/selectors-api/Overview.html">http://dev.w3.org/2006/webapi/selectors-api/Overview.html</a>></code>.
558    The latest published version of the specification is available at    The latest published version of the specification is available at
559    <code class=URI>&lt;<a href="http://www.w3.org/TR/selectors-api/">http://www.w3.org/TR/selectors-api/</a>></code>.</dd>    <code class=URI>&lt;<a href="http://www.w3.org/TR/selectors-api/">http://www.w3.org/TR/selectors-api/</a>></code>.</dd>
560  <dt id=XBL2>XBL2</dt>  <dt id=ref-XBL2>XBL2</dt>
561    <dd><cite><a href="http://www.mozilla.org/projects/xbl/xbl2.html"><abbr>XBL</abbr>    <dd><cite><a href="http://www.mozilla.org/projects/xbl/xbl2.html"><abbr>XBL</abbr>
562    2.0</a></cite>, Mozilla.org, <time datetime=2007-03-15>15 Mar 2007</time>.    2.0</a></cite>, Mozilla.org, <time datetime=2007-03-15>15 Mar 2007</time>.
563    Work in progress.  The latest    Work in progress.  The latest

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.10

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24