<font>Kris never responded to this so I tried to update the dojo/query doc myself, see the tables at the end of <a href="https://github.com/dojo/docs/blob/master/dojo/query.rst">https://github.com/dojo/docs/blob/master/dojo/query.rst</a>. Hopefully they are correct.</font><div>
<font><br></font></div><div><font>It's especially hard to tell the difference between CSS2 and CSS2.1 since </font><a href="http://www.w3.org/TR/CSS2/selector.html">http://www.w3.org/TR/CSS2/selector.html</a> actually lists the CSS2.1 syntax.<div>
<font><br></font></div><div><font>Also, I noticed that the lite engine actually supports a few more selectors beyond plain CSS2, so I made a separate table for them.</font></div><div><font><br></font><br><div class="gmail_quote">
On Sat, Dec 10, 2011 at 7:48 AM, Bill Keese <span dir="ltr"><<a href="mailto:bill@dojotoolkit.org">bill@dojotoolkit.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font>Explaining it via CSS selector level instead of engine name seems good, but the documentation doesn't really tell which selectors each CSS level supports. </font><div><font><br></font></div><div>
<font>For CSS2 it just says:</font><div><font><br></font></div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="font-family:verdana,sans-serif;line-height:17px">consisting of elemental selectors: .class, #id, tag, and star, attribute selectors, and child (>), descendant (space), and union (,) combinators</span></blockquote>
<div><br></div><div>That's vague to me, especially "attribute selectors".</div><div><br></div><div>Earlier in the doc it lists the CSS three selectors (<a href="http://livedocs.dojotoolkit.org/dojo/query#standard-css3-selectors" target="_blank">http://livedocs.dojotoolkit.org/dojo/query#standard-css3-selectors</a>). How about breaking up that table into CSS2, CSS2.1, and CSS3?</div>
<div><div class="h5">
<div><br></div><div><br><div class="gmail_quote">On Sat, Dec 10, 2011 at 12:39 AM, Kris Zyp <span dir="ltr"><<a href="mailto:kzyp@dojotoolkit.org" target="_blank">kzyp@dojotoolkit.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
I updated the docs to more explicitly state the capabilities of the
two selector engines, lite and acme. I am not sure if there is
anything more that you are looking for. However, I was very
intentional about focusing the API and the documentation towards
having developers specifying CSS selector level required by a
module, rather than tight coupling to a specific engine.<br>
Thanks,<br>
Kris<div><div><br>
<br>
On 12/8/2011 11:08 PM, Bill Keese wrote:
<blockquote type="cite"><font>It's a good question. Specifically
about which selectors each engine supports. I didn't find any
good documentation, but the data seems to be out there in bits
and pieces.</font>
<div><br>
</div>
<div>
1) Acme</div>
<div><br>
</div>
<div>The selectors are listed in <a href="http://bugs.dojotoolkit.org/browser/dojo/dojo/trunk/selector/acme.js#L1308" target="_blank">http://bugs.dojotoolkit.org/browser/dojo/dojo/trunk/selector/acme.js#L1308</a>,</div>
<div>although that doesn't show up well on our API site, perhaps
because of the naming conflict with the new dojo/query module.</div>
<div><br>
</div>
<div>Also on <a href="http://livedocs.dojotoolkit.org/dojo/query" target="_blank">http://livedocs.dojotoolkit.org/dojo/query</a>
although perhaps that's not a comprehensive list.</div>
<div><font><br>
</font></div>
<div><font><br>
</font></div>
<div><font>2) Lite</font></div>
<div><font><br>
</font></div>
<div><font>There's a hint in <a href="http://permalink.gmane.org/gmane.comp.web.dojo.devel/14245" target="_blank">http://permalink.gmane.org/gmane.comp.web.dojo.devel/14245</a>,
which says:</font>
<div>
<br>
</div>
<div>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<pre style="line-height:19px;text-align:justify;color:rgb(34,34,34)">it
is only supposed to do a simple CSS2 queries (#id, .class, tag and some
[attributes]), roughly the same capability as Dustin Diaz's Qwery
(<a rel="nofollow" href="https://github.com/ded/qwery" style="color:rgb(0,51,102);font-weight:bold;text-decoration:none;font-size:x-small" target="_blank">https://github.com/ded/qwery</a>))</pre>
</blockquote>
<div>
<font><br>
</font></div>
<div><font>And then from lite.js:</font></div>
<div><font><br>
</font></div>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"^=":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
attrValue.indexOf(value) == 0;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>},</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"*=":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
attrValue.indexOf(value) > -1;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>},</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"$=":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
attrValue.substring(attrValue.length - value.length,
attrValue.length) == value;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>},</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"~=":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
(' ' + attrValue + ' ').indexOf(' ' + value + ' ') >
-1;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>},</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"|=":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
(attrValue + '-').indexOf(value + '-') == 0;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>},</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"=":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
attrValue == value;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>},</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>"":
function(attrValue, value){</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>return
true;</blockquote>
<blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<span style="white-space:pre-wrap"> </span>}</blockquote>
<div><br>
</div>
</font></blockquote>
<div> </div>
<div><font>A thread about the engines is in <a href="http://thread.gmane.org/gmane.comp.web.dojo.devel/14203" target="_blank">http://thread.gmane.org/gmane.comp.web.dojo.devel/14203</a>.</font></div>
<div><font><br>
</font></div>
<div><font><br>
</font></div>
<div>3) sizzle</div>
<div><br>
</div>
<div><font>I remember lots of performance charts for
the various selectors back in the days of the acme/sizzle
wars, but probably we don't need to document sizzle much
anyway. Actually, looks like it's not even in our source
tree anymore.</font></div>
<div><font><br>
</font><br>
<div class="gmail_quote">On Wed, Dec 7, 2011 at 2:17 AM,
Chris Mitchell <span dir="ltr"><<a href="mailto:ccmitchellusa@gmail.com" target="_blank">ccmitchellusa@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The <a href="http://livedocs.dojotoolkit.org/dojo/query" target="_blank">livedocs.dojotoolkit.org/dojo/query</a>
docs talk about various<br>
versions of dojo/query implementations (css, acme,
etc.), but I don't<br>
see any docs that explain the differences between the
various<br>
implementations. Does an explanation of the differences
exist<br>
somewhere?<br>
-Chris<br>
_______________________________________________<br>
dojo-contributors mailing list<br>
<a href="mailto:dojo-contributors@mail.dojotoolkit.org" target="_blank">dojo-contributors@mail.dojotoolkit.org</a><br>
<a href="http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors" target="_blank">http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
dojo-contributors mailing list
<a href="mailto:dojo-contributors@mail.dojotoolkit.org" target="_blank">dojo-contributors@mail.dojotoolkit.org</a>
<a href="http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors" target="_blank">http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors</a>
</pre>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div></div>