<!DOCTYPE html> ... <script> var p = new DOMParser(), s = new XMLSerializer(); var doc = p.parseFromString("<!DOCTYPE foo [ <!ELEMENT foo (#PCDATA)> ]><foo/>", "text/xml") w(s.serializeToString(doc)) </script> <table> <caption>Results</caption> <thead> <tr><th>UA<th>Result <tbody> <tr><th>Gecko<td><code><!DOCTYPE foo [ <!ELEMENT foo (#PCDATA)> ]>\n<foo/></code> <tr><th>WebKit<td><code><!DOCTYPE foo><foo/></code> <tr><th>Presto<td><code><?xml version="1.0"?><!DOCTYPE foo><foo/></code> </table>