<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>Multiple IDs</title>
  <style type="text/css"><![CDATA[
.warning { color: navy; }
div { color: red; }
#Aone#Atwo, #Aone#Athree, #Atwo#Athree { color: green; }
p { color: green; }
#Bone#Btwo, #Bone#Bthree, #Btwo#Bthree { color: red; }
#Cone#Ctwo, #Cone#Cthree, #Ctwo#Cthree { color: red; }
#Done#Dtwo, #Done#Dthree, #Dtwo#Dthree { color: red; }
]]></style>
  <link rel="first" href="css3-modsel-1.xml" title="Groups of selectors"/>
  <link rel="prev" href="css3-modsel-15b.xml" title="Multiple ID selectors"/>
  <link rel="next" href="css3-modsel-16.xml" title=":link pseudo-class"/>
  <link rel="last" href="css3-modsel-d4.xml" title="Dynamic updating of :first-child and :last-child"/>
  <link rel="up" href="./index.html"/>
  <link rel="top" href="../../index.html"/>
 </head>
 <body>
  <p class="warning">This test requires support for two or more of XHTML, xml:id, and DOM3 Core.</p>
<div id="Aone" xml:id="Atwo" title="Athree">This line should be green.</div>
  <p id="Bone">This line should be green.</p>
  <p xml:id="Ctwo">This line should be green.</p>
  <p title="Dthree">This line should be green.</p>
 <script type="text/javascript">
  document.getElementsByTagNameNS(&#39;http://www.w3.org/1999/xhtml&#39;, &#39;div&#39;)[0].setIdAttribute(&#39;title&#39;, true);
  document.getElementsByTagNameNS(&#39;http://www.w3.org/1999/xhtml&#39;, &#39;p&#39;)[3].setIdAttribute(&#39;title&#39;, true);
 </script>
 <!-- This test could also be done using a custom DOCTYPE with an internal subset, which would
      then work in any XHTML UA. However, that requires massive changes to the generator scripts.
      Better, if we need such a test, would be to special-case it and have 15d be a separate file. -->
</body>
</html>