lol_html 0.3.2

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED attribute value selector</title>
  <style type="text/css">@namespace a url(http://www.example.org/a);
div.stub > p {color : red }
div.stub > a|* { color : red ; display : block ; margin-bottom : 1em }
div.stub *|*:not([test="1"]) { color : lime }</style>
  <link rel="author" title="Daniel Glazman" href="http://glazman.org/">
  <link rel="help" href="https://www.w3.org/TR/css3-selectors/#selectors"> <!-- bogus link to make sure it gets found -->
  <meta name="flags" content=" namespace">
 </head>
 <body>
<div class="stub">
<q xmlns="http://www.example.org/a" test="1">
  <!--[ELEMENT('div.stub *|*:not([test="1"])')]--><r test="11"><!--[TEXT('div.stub *|*:not([test="1"])')]-->This text should be<!--[/TEXT('div.stub *|*:not([test="1"])')]--></r><!--[/ELEMENT('div.stub *|*:not([test="1"])')]-->
  <!--[ELEMENT('div.stub *|*:not([test="1"])')]--><r><!--[TEXT('div.stub *|*:not([test="1"])')]-->in green characters<!--[/TEXT('div.stub *|*:not([test="1"])')]--></r><!--[/ELEMENT('div.stub *|*:not([test="1"])')]-->
</q>
<!--[ELEMENT('div.stub *|*:not([test="1"])')]--><s xmlns="http://www.example.org/a"><!--[TEXT('div.stub *|*:not([test="1"])')]-->This text should be in green characters<!--[/TEXT('div.stub *|*:not([test="1"])')]--></s><!--[/ELEMENT('div.stub *|*:not([test="1"])')]-->
<!--[ELEMENT('div.stub *|*:not([test="1"])')]--><p><!--[TEXT('div.stub *|*:not([test="1"])')]-->This text should be in green characters<!--[/TEXT('div.stub *|*:not([test="1"])')]--></p><!--[/ELEMENT('div.stub *|*:not([test="1"])')]-->
</div>

</body></html>