lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED :nth-of-type() pseudo-class</title>
  <style type="text/css">.green { background-color : lime ! important }
p:not(:nth-of-type(3)) { background-color : red }
dl > *:not(:nth-of-type(3n+1)) { background-color : red }
</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="">
 </head>
 <body>
<!--[ELEMENT('.green')]--><p class="green"><!--[TEXT('.green')]-->This paragraph should have green background<!--[/TEXT('.green')]--></p><!--[/ELEMENT('.green')]-->
<address>And this address should be unstyled.</address>
<!--[ELEMENT('.green')]--><p class="green"><!--[TEXT('.green')]-->This paragraph should also have green background!<!--[/TEXT('.green')]--></p><!--[/ELEMENT('.green')]-->
<p>But this one should be unstyled again.</p>
<dl>
  <dt>First definition term</dt>
    <dd>First definition</dd>
  <!--[ELEMENT('.green')]--><dt class="green"><!--[TEXT('.green')]-->Second definition term that should have green background<!--[/TEXT('.green')]--></dt><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><dd class="green"><!--[TEXT('.green')]-->Second definition that should have green background<!--[/TEXT('.green')]--></dd><!--[/ELEMENT('.green')]-->
  <!--[ELEMENT('.green')]--><dt class="green"><!--[TEXT('.green')]-->Third definition term that should have green background<!--[/TEXT('.green')]--></dt><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><dd class="green"><!--[TEXT('.green')]-->Third definition that should have green background<!--[/TEXT('.green')]--></dd><!--[/ELEMENT('.green')]-->
  <dt>Fourth definition term</dt>
    <dd>Fourth definition</dd>
  <!--[ELEMENT('.green')]--><dt class="green"><!--[TEXT('.green')]-->Fifth definition term that should have green background<!--[/TEXT('.green')]--></dt><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><dd class="green"><!--[TEXT('.green')]-->Fifth definition that should have green background<!--[/TEXT('.green')]--></dd><!--[/ELEMENT('.green')]-->
  <!--[ELEMENT('.green')]--><dt class="green"><!--[TEXT('.green')]-->Sixth definition term that should have green background<!--[/TEXT('.green')]--></dt><!--[/ELEMENT('.green')]-->
    <!--[ELEMENT('.green')]--><dd class="green"><!--[TEXT('.green')]-->Sixth definition that should have green background<!--[/TEXT('.green')]--></dd><!--[/ELEMENT('.green')]-->
</dl>

</body></html>