lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED type element selector</title>
  <style type="text/css">div.stub span, div.stub address, div.stub *|q, div.stub *|r { background-color: red; }
address, *|q, *|r { display: block; margin: 1em; }
div.stub *:not(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="stub">
  <p>
   <!--[ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--><span><!--[TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->The text in this paragraph should have a green background<!--[/TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--></span><!--[/ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->
  </p>
  <!--[ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--><address><!--[TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->This address should have a green background<!--[/TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--></address><!--[/ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->
  <!--[ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--><q xmlns="http://www.example.org/a"><!--[TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->This element in another namespace should have a green background.<!--[/TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--></q><!--[/ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->
  <!--[ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--><r xmlns=""><!--[TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->This element without a namespace should have a green background.<!--[/TEXT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]--></r><!--[/ELEMENT('div.stub span, div.stub address, div.stub *|q, div.stub *|r')]-->
  <p>This paragraph should be unstyled.</p>
 </div>

</body></html>