lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED Attribute space-separated value selector without declared namespace</title>
  <style type="text/css">@namespace a url(http://www.example.org/a);
@namespace b url(http://www.example.org/b);
@namespace html url(http://www.w3.org/1999/xhtml);
*|p, *|address, *|q, *|r { display : block ; margin-bottom : 1em }
*|address, *|r { background-color : red }
div.stub *|*:not([|class~="foo"]) { background-color : lime }</style>
  <link rel="author" title="Daniel Glazman" href="http://glazman.org/">
  <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=" namespace">
 </head>
 <body xmlns:b="http://www.example.org/b">
<div class="stub">
<p class="bar foo toto">This paragraph should be unstyled.</p>
<!--[ELEMENT('div.stub *|*:not([|class~="foo"])')]--><address class="bar foofoo toto"><!--[TEXT('div.stub *|*:not([|class~="foo"])')]-->This address should have a green background.<!--[/TEXT('div.stub *|*:not([|class~="foo"])')]--></address><!--[/ELEMENT('div.stub *|*:not([|class~="foo"])')]-->
<q xmlns="http://www.example.org/a" class="bar foo toto">This paragraph should be unstyled.</q>
<!--[ELEMENT('div.stub *|*:not([|class~="foo"])')]--><r xmlns="http://www.example.org/b" b:class="bar foo toto"><!--[TEXT('div.stub *|*:not([|class~="foo"])')]-->This paragraph should have a green background.<!--[/TEXT('div.stub *|*:not([|class~="foo"])')]--></r><!--[/ELEMENT('div.stub *|*:not([|class~="foo"])')]-->
</div>

</body></html>