WPT
wpt / dom / nodes / DOMImplementation-createDocumentType.html
Spec: DOM ↗
Runs: Chrome 155.0.8042.0 (wpt@4eb09bcd9, 2026-09-04) | Firefox 157.0a1 (wpt@c3fcbf4ba, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-52f0f (wpt@a1ecd0c09, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 82/82 | 82/82 | 82/82 | 82/82 | 82/82 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| DOMImplementation.createDocumentType(qualifiedName, publicId, systemId) | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("test:root", "1234", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("test:root", "1234", "test") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("test:root", "test", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("test:root", "test", "test") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("_:_", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("_:h0", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("_:test", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("_:_.", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("_:a-", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("l_:_", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("ns:_0", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("ns:a0", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("ns0:test", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("ns:EEE.", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("ns:_-", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("a.b:c", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("a-b:c.j", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("a-b:c", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("1foo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo1", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("f1oo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("@foo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo@", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("f@oo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:{", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:}", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:~", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:'", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:!", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:@", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:#", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:$", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:%", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:^", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:&", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:*", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:(", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:)", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:+", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:=", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:[", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:]", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:\\", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:/", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:;", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:`", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:<", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:>", "", "") should throw INVALID_CHARACTER_ERR | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:,", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:a ", "", "") should throw INVALID_CHARACTER_ERR | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("edi:\"", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("{", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("}", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("'", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("~", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("`", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("@", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("#", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("$", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("%", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("^", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("&", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("*", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("(", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType(")", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("f:oo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType(":foo", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo:", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("prefix::local", "", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "foo", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "", "foo") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "f'oo", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "", "f'oo") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "f\"oo", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "", "f\"oo") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "f'o\"o", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "", "f'o\"o") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "foo>", "") should work | PASS | PASS | PASS | PASS | PASS | — |
| createDocumentType("foo", "", "foo>") should work | PASS | PASS | PASS | PASS | PASS | — |