<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>NEGATED Substring matching attribute selector on middle with universal namespace</title>
  <style type="text/css"><![CDATA[@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, *|q, *|r, *|s, *|t{ display : block ; margin-bottom : 1em }
*|p.red, *|q, *|t { background-color : red }
div.stub *|*:not([*|title*="on ch"]) { 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 -->
  <link rel="match" href="reference/lime-bg-paras-u-g-g-u-u-g.xht"/>
  <meta name="flags" content=" namespace" />
 </head>
 <body xmlns:a="http://www.example.org/a" xmlns:b="http://www.example.org/b">
<div class="stub">
<p title="si on chantait">This paragraph should be unstyled.</p>
<p title="si il chantait" class="red">This paragraph should have a green background.</p>
<q xmlns="http://www.example.org/a" a:title="si nous chantions">This paragraph should have a green background.</q>
<r xmlns="http://www.example.org/a" a:title="si on chantait">This paragraph should be unstyled.</r>
<s xmlns="http://www.example.org/b" b:title="si on chantait">This paragraph should be unstyled.</s>
<t xmlns="http://www.example.org/b" b:ti="si on chantait">This paragraph should have a green background.</t>
</div>
</body>
</html>