--TEST-- Element::setAttributeNS() --EXTENSIONS-- dom --FILE-- appendChild($dom->createElement("container")); echo "--- xmlns attribute ---\n"; $container->setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:foo", "1"); echo $dom->saveHtml($container), "\n"; dumpAttrs($container); echo "--- name validation ---\n"; try { $container->setAttributeNS("urn:a", "a:b:c", ""); } catch (DOMException $e) { echo $e->getMessage(), "\n"; } echo "--- ns attributes with same namespace but different prefix ---\n"; $dom = Dom\HTMLDocument::createEmpty(); $container = $dom->appendChild($dom->createElement("container")); $container->setAttributeNS("urn:a", "x:foo", "1"); $container->setAttributeNS("urn:a", "y:foo", "2"); echo $dom->saveHtml($container), "\n"; dumpAttrs($container); echo "--- ns attributes with different namespace but same prefix ---\n"; $dom = Dom\HTMLDocument::createEmpty(); $container = $dom->appendChild($dom->createElement("container")); $container->setAttributeNS("urn:a", "x:foo", "1"); $container->setAttributeNS("urn:b", "x:foo", "2"); echo $dom->saveHtml($container), "\n"; dumpAttrs($container); ?> --EXPECT-- --- xmlns attribute --- Attr: xmlns:foo string(5) "xmlns" string(9) "xmlns:foo" string(29) "http://www.w3.org/2000/xmlns/" --- name validation --- Invalid Character Error --- ns attributes with same namespace but different prefix --- Attr: y:foo string(1) "y" string(5) "y:foo" string(5) "urn:a" --- ns attributes with different namespace but same prefix --- Attr: x:foo string(1) "x" string(5) "x:foo" string(5) "urn:a" Attr: x:foo string(1) "x" string(5) "x:foo" string(5) "urn:b"