lol_html 0.3.2

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED type element selector with declared namespace</title>
  <style type="text/css">@namespace html url(http://www.w3.org/1999/xhtml);
@namespace a url(http://www.example.org/a);
@namespace b url(http://www.example.org/b);
*|p, *|l { display : block ; margin-bottom : 1em }
div.test * { background-color : red }
div.test *:not(a|p) { 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>
<div class="test">
 <!--[ELEMENT('*|p, *|l')]--><p xmlns="http://www.w3.org/1999/xhtml"><!--[TEXT('*|p, *|l')]-->This paragraph should have a green background.<!--[/TEXT('*|p, *|l')]--></p><!--[/ELEMENT('*|p, *|l')]-->
 <!--[ELEMENT('*|p, *|l')]--><p xmlns="http://www.example.org/b"><!--[TEXT('*|p, *|l')]-->This paragraph should have a green background.<!--[/TEXT('*|p, *|l')]--></p><!--[/ELEMENT('*|p, *|l')]-->
 <!--[ELEMENT('*|p, *|l')]--><p xmlns=""><!--[TEXT('*|p, *|l')]-->This paragraph should have a green background.<!--[/TEXT('*|p, *|l')]--></p><!--[/ELEMENT('*|p, *|l')]-->
 <!--[ELEMENT('*|p, *|l')]--><p xmlns="http://www.example.org/a"><!--[TEXT('*|p, *|l')]-->
 <!--[/TEXT('*|p, *|l')]--><!--[ELEMENT('*|p, *|l')]--><l><!--[TEXT('*|p, *|l')]-->This paragraph should have a green background.<!--[/TEXT('*|p, *|l')]--></l><!--[/ELEMENT('*|p, *|l')]--><!--[TEXT('*|p, *|l')]-->
 <!--[/TEXT('*|p, *|l')]--></p><!--[/ELEMENT('*|p, *|l')]-->
</div>

</body></html>