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-01>1 October 2007</time></h2> |
<h2>Working Draft <time datetime=2007-10-02>2 October 2007</time></h2> |
14 |
|
|
15 |
<dl class="versions-uri"> |
<dl class="versions-uri"> |
16 |
<dt>This Version</dt> |
<dt>This Version</dt> |
146 |
|
|
147 |
<!-- TODO: link terms to Selectors --> |
<!-- TODO: link terms to Selectors --> |
148 |
|
|
149 |
|
<p>To <dfn id=algorithm-serialize-a-group-of-selectors>serialize a group of |
150 |
|
selectors</dfn> (<dfn id=var-gs><var>gs</var></dfn>):</p> |
151 |
<ol> |
<ol> |
152 |
<li>Let <var>result</var> an empty string.</li> |
<li>Let <dfn id=var-result><var>result</var></dfn> an empty string.</li> |
153 |
<li>For each selector (<var>selector</var>) in the group of selectors: |
<li>For each selector (<dfn id=var-selector><var>selector</var></dfn>) in |
154 |
|
<var>gs</var>: |
155 |
<ol> |
<ol> |
156 |
<li>If <var>selector</var> is <em>not</em> the first selector |
<li>If <var>selector</var> is <em>not</em> the first selector |
157 |
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> |
162 |
<li>Process each sequence of simple selectors or |
<li>Process each sequence of simple selectors or |
163 |
combinator in <var>selector</var> by following algorithm: |
combinator in <var>selector</var> by following algorithm: |
164 |
<dl class=switch> |
<dl class=switch> |
165 |
<dt>If it is a sequence of simle selector (<var>sss</var>)</dt> |
<dt>If it is a sequence of simle selector |
166 |
|
(<dfn id=var-sss><var>sss</var></dfn>)</dt> |
167 |
<dd class=ed>@@</dd> |
<dd class=ed>@@</dd> |
168 |
<dt>If it is a combinator (<var>c</var>)</dt> |
<dt>If it is a combinator (<dfn id=var-c><var>c</var></dfn>)</dt> |
169 |
<dd> |
<dd> |
170 |
<ol> |
<ol> |
171 |
<li>Append two <code class=char>U+0020</code> |
<li>Append two <code class=char>U+0020</code> |
206 |
representation of the group of selectors.</li> |
representation of the group of selectors.</li> |
207 |
</ol> |
</ol> |
208 |
|
|
209 |
|
<p>To <dfn id=algorithm-serialize-a-simple-selector>serialize a simple |
210 |
|
selector</dfn> (<dfn><var id=var-ss>ss</var></dfn>):</p> |
211 |
|
<dl class=switch> |
212 |
|
<dt>If <var>ss</var> is a type or universal selector</dt> |
213 |
|
<dd><dl class=switch> |
214 |
|
<dt>If a namespace URI is specified (via namespace prefix, or |
215 |
|
by omitting namespace prefix where a default namespace is specified)</dt> |
216 |
|
<dd class="ed">@@</dd> |
217 |
|
<dt>If the null namespace is specified (by zero$B!>(Blength namespace |
218 |
|
prefix)</dt> |
219 |
|
<dd>Return a <code class=char>U+007C</code> <code class=charname>VERTICAL |
220 |
|
BAR</code> character, followed by either local name (if <var>ss</var> |
221 |
|
is a type selector) or a <code class=char>U+002A</code> |
222 |
|
<code class=charname>ASTERISK</code> character (if <var>ss</var> |
223 |
|
is a universal selector).</dd> |
224 |
|
<dt>If no namespace is specified (by namespace prefix <code>*</code>, |
225 |
|
or by omitting namespace prefix where no default namespace is specified)</dt> |
226 |
|
<dd>Return a <code class=char>U+002A</code> |
227 |
|
<code class=charname>ASTERISK</code> character, followed by a |
228 |
|
<code class=char>U+007C</code> <code class=charname>VERTICAL BAR</code> |
229 |
|
character, followed by either local name (if <var>ss</var> |
230 |
|
is a type selector) or a <code class=char>U+002A</code> |
231 |
|
<code class=charname>ASTERISK</code> character (if <var>ss</var> |
232 |
|
is a universal selector).</dd> |
233 |
|
</dl></dd> |
234 |
|
<dt class=ed>@@</dt> |
235 |
|
</dl> |
236 |
|
|
237 |
</div> |
</div> |
238 |
|
|
239 |
<div class="section" id="parsing"> |
<div class="section" id="parsing"> |