lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>NEGATED :nth-last-child() pseudo-class</title>
  <style type="text/css">.green { background-color : lime ! important; }
ul > li:not(:nth-last-child(odd)) { background-color : red }
ol > li:not(:nth-last-child(even)) { background-color : red }
table.t1 tr:not(:nth-last-child(-n+4)) { background-color : red }
table.t2 td:not(:nth-last-child(3n+1)) { background-color : red }
table.t1 td, table.t2 td { border : thin black solid }
</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>
<ul>
  <li class="green">This first list item should have a green background</li>
  <li>Second list item</li>
  <li class="green">This third list item should have a green background</li>
  <li>Fourth list item</li>
  <li class="green">This fifth list item should have a green background</li>
  <li>Sixth list item</li>
</ul>
<ol>
  <li>First list item</li>
  <!--[ELEMENT('ol > li:not(:nth-last-child(even))')]--><li class="green"><!--[TEXT('ol > li:not(:nth-last-child(even))')]-->This second list item should have a green background<!--[/TEXT('ol > li:not(:nth-last-child(even))')]--></li><!--[/ELEMENT('ol > li:not(:nth-last-child(even))')]-->
  <li>Third list item</li>
  <!--[ELEMENT('ol > li:not(:nth-last-child(even))')]--><li class="green"><!--[TEXT('ol > li:not(:nth-last-child(even))')]-->This fourth list item should have a green background<!--[/TEXT('ol > li:not(:nth-last-child(even))')]--></li><!--[/ELEMENT('ol > li:not(:nth-last-child(even))')]-->
  <li>Fifth list item</li>
  <!--[ELEMENT('ol > li:not(:nth-last-child(even))')]--><li class="green"><!--[TEXT('ol > li:not(:nth-last-child(even))')]-->This sixth list item should have a green background<!--[/TEXT('ol > li:not(:nth-last-child(even))')]--></li><!--[/ELEMENT('ol > li:not(:nth-last-child(even))')]-->
</ol>
<div>
<table border="1" class="t1">
  <tbody><tr class="green">
<td>Green row : 1.1</td>
<td>1.2</td>
     <td>1.3</td>
</tr>
  <tr class="green">
<td>Green row : 2.1</td>
<td>2.2</td>
     <td>2.3</td>
</tr>
  <tr>
<td>3.1</td>
<td>3.2</td>
     <td>3.3</td>
</tr>
  <tr>
<td>4.1</td>
<td>4.2</td>
      <td>4.3</td>
</tr>
  <tr>
<td>5.1</td>
<td>5.2</td>
      <td>5.3</td>
</tr>
  <tr>
<td>6.1</td>
<td>6.2</td>
      <td>6.3</td>
</tr>
</tbody></table>
<p></p>
<table class="t2" border="1">
  <tbody><tr>
<td class="green">green cell</td>
<td>1.2</td>
<td class="green">green cell</td>
      <td class="green">green cell</td>
<td>1.5</td>
<td class="green">green cell</td>
      <td class="green">green cell</td>
<td>1.8</td>
</tr>
  <tr>
<td class="green">green cell</td>
<td>2.2</td>
<td class="green">green cell</td>
      <td class="green">green cell</td>
<td>2.5</td>
<td class="green">green cell</td>
      <td class="green">green cell</td>
<td>2.8</td>
</tr>
  <tr>
<td class="green">green cell</td>
<td>3.2</td>
<td class="green">green cell</td>
      <td class="green">green cell</td>
<td>3.5</td>
<td class="green">green cell</td>
      <td class="green">green cell</td>
<td>3.8</td>
</tr>
</tbody></table>
</div>

</body></html>