lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>Case sensitivity</title>
  <style type="text/css">
 .cs { color: green; }
 .cs P { background: red; color: yellow; }
 .cs .a { background: red; color: yellow; }
 .cs .span1 span { background: red; color: yellow; }
 .cs .span2 { color: red; }
 .cs .span2 SPAN { color: green; }
 .cs .span2 span { background: red; color: yellow; }
 .ci { color: red; }
 .ci P { background: green; color: white; }
 .ci .a { background: green; color: white; }
 .ci .span1 span { background: green; color: white; }
 .ci .span2 SPAN { background: green; color: white; }
</style>
  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
  <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"> <!-- bogus link to make sure it gets found -->
  <meta name="flags" content="">
 </head>
 <body>
<div>

 <!--[ELEMENT('.cs')]--><div class="cs"><!--[TEXT('.cs')]-->
   <!--[/TEXT('.cs')]--><p><!--[TEXT('.cs')]-->This line should be green.<!--[/TEXT('.cs')]--></p><!--[TEXT('.cs')]-->
   <!--[/TEXT('.cs')]--><p class="A"><!--[TEXT('.cs')]-->This line should be green.<!--[/TEXT('.cs')]--></p><!--[TEXT('.cs')]-->
   <!--[/TEXT('.cs')]--><p class="span1"><span><!--[TEXT('.cs')]-->This line should be green.<!--[/TEXT('.cs')]--></span></p><!--[TEXT('.cs')]-->
   <!--[/TEXT('.cs')]--><p class="span2"><span><!--[TEXT('.cs')]-->This line should be green.<!--[/TEXT('.cs')]--></span></p><!--[TEXT('.cs')]-->
 <!--[/TEXT('.cs')]--></div><!--[/ELEMENT('.cs')]-->


</div>

</body></html>