lol_html 1.2.1

Streaming HTML rewriter/parser with CSS selector-based API
Documentation
<html><head>
  <title>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 }
*|p, *|q { background-color : red }
*|*[|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">
<!--[ELEMENT('*|p, *|address, *|q, *|r')]--><p class="bar foo toto"><!--[TEXT('*|p, *|address, *|q, *|r')]-->This paragraph should have a green background.<!--[/TEXT('*|p, *|address, *|q, *|r')]--></p><!--[/ELEMENT('*|p, *|address, *|q, *|r')]-->
<!--[ELEMENT('*|p, *|address, *|q, *|r')]--><address class="bar foofoo toto"><!--[TEXT('*|p, *|address, *|q, *|r')]-->This address should be unstyled.<!--[/TEXT('*|p, *|address, *|q, *|r')]--></address><!--[/ELEMENT('*|p, *|address, *|q, *|r')]-->
<!--[ELEMENT('*|p, *|address, *|q, *|r')]--><q xmlns="http://www.example.org/a" class="bar foo toto"><!--[TEXT('*|p, *|address, *|q, *|r')]-->This paragraph should have a green background.<!--[/TEXT('*|p, *|address, *|q, *|r')]--></q><!--[/ELEMENT('*|p, *|address, *|q, *|r')]-->
<!--[ELEMENT('*|p, *|address, *|q, *|r')]--><r xmlns="http://www.example.org/b" b:class="bar foo toto"><!--[TEXT('*|p, *|address, *|q, *|r')]-->This paragraph should be unstyled.<!--[/TEXT('*|p, *|address, *|q, *|r')]--></r><!--[/ELEMENT('*|p, *|address, *|q, *|r')]-->

</body></html>