aboutsummaryrefslogtreecommitdiff
path: root/tests/html5lib-tests/tokenizer/test3.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/html5lib-tests/tokenizer/test3.test')
-rw-r--r--tests/html5lib-tests/tokenizer/test3.test11233
1 files changed, 11233 insertions, 0 deletions
diff --git a/tests/html5lib-tests/tokenizer/test3.test b/tests/html5lib-tests/tokenizer/test3.test
new file mode 100644
index 0000000..814482c
--- /dev/null
+++ b/tests/html5lib-tests/tokenizer/test3.test
@@ -0,0 +1,11233 @@
+{"tests": [
+
+{"description":"[empty]",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"",
+"output":[]},
+
+{"description":"[empty]",
+"initialStates":["CDATA section state"],
+"input":"",
+"output":[],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"\\u0009",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"\u0009",
+"output":[["Character", "\u0009"]]},
+
+{"description":"\\u0009",
+"initialStates":["CDATA section state"],
+"input":"\u0009",
+"output":[["Character", "\u0009"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"\\u000A",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"\u000A",
+"output":[["Character", "\u000A"]]},
+
+{"description":"\\u000A",
+"initialStates":["CDATA section state"],
+"input":"\u000A",
+"output":[["Character", "\u000A"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"\\u000B",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"\u000B",
+"output":[["Character", "\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 1 }
+]},
+
+{"description":"\\u000B",
+"initialStates":["CDATA section state"],
+"input":"\u000B",
+"output":[["Character", "\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 1 },
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"\\u000C",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"\u000C",
+"output":[["Character", "\u000C"]]},
+
+{"description":"\\u000C",
+"initialStates":["CDATA section state"],
+"input":"\u000C",
+"output":[["Character", "\u000C"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":" ",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":" ",
+"output":[["Character", " "]]},
+
+{"description":" ",
+"initialStates":["CDATA section state"],
+"input":" ",
+"output":[["Character", " "]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"!",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"!",
+"output":[["Character", "!"]]},
+
+{"description":"!",
+"initialStates":["CDATA section state"],
+"input":"!",
+"output":[["Character", "!"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"\"",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"\"",
+"output":[["Character", "\""]]},
+
+{"description":"\"",
+"initialStates":["CDATA section state"],
+"input":"\"",
+"output":[["Character", "\""]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"%",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"%",
+"output":[["Character", "%"]]},
+
+{"description":"%",
+"initialStates":["CDATA section state"],
+"input":"%",
+"output":[["Character", "%"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"&",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"&",
+"output":[["Character", "&"]]},
+
+{"description":"&",
+"initialStates":["CDATA section state"],
+"input":"&",
+"output":[["Character", "&"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"'",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"'",
+"output":[["Character", "'"]]},
+
+{"description":"'",
+"initialStates":["CDATA section state"],
+"input":"'",
+"output":[["Character", "'"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":",",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":",",
+"output":[["Character", ","]]},
+
+{"description":",",
+"initialStates":["CDATA section state"],
+"input":",",
+"output":[["Character", ","]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"-",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"-",
+"output":[["Character", "-"]]},
+
+{"description":"-",
+"initialStates":["CDATA section state"],
+"input":"-",
+"output":[["Character", "-"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":".",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":".",
+"output":[["Character", "."]]},
+
+{"description":".",
+"initialStates":["CDATA section state"],
+"input":".",
+"output":[["Character", "."]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"/",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"/",
+"output":[["Character", "/"]]},
+
+{"description":"/",
+"initialStates":["CDATA section state"],
+"input":"/",
+"output":[["Character", "/"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"0",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"0",
+"output":[["Character", "0"]]},
+
+{"description":"0",
+"initialStates":["CDATA section state"],
+"input":"0",
+"output":[["Character", "0"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"1",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"1",
+"output":[["Character", "1"]]},
+
+{"description":"1",
+"initialStates":["CDATA section state"],
+"input":"1",
+"output":[["Character", "1"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"9",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"9",
+"output":[["Character", "9"]]},
+
+{"description":"9",
+"initialStates":["CDATA section state"],
+"input":"9",
+"output":[["Character", "9"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":";",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";",
+"output":[["Character", ";"]]},
+
+{"description":";",
+"initialStates":["CDATA section state"],
+"input":";",
+"output":[["Character", ";"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":";=",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";=",
+"output":[["Character", ";="]]},
+
+{"description":";=",
+"initialStates":["CDATA section state"],
+"input":";=",
+"output":[["Character", ";="]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";>",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";>",
+"output":[["Character", ";>"]]},
+
+{"description":";>",
+"initialStates":["CDATA section state"],
+"input":";>",
+"output":[["Character", ";>"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";?",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";?",
+"output":[["Character", ";?"]]},
+
+{"description":";?",
+"initialStates":["CDATA section state"],
+"input":";?",
+"output":[["Character", ";?"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";@",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";@",
+"output":[["Character", ";@"]]},
+
+{"description":";@",
+"initialStates":["CDATA section state"],
+"input":";@",
+"output":[["Character", ";@"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";A",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";A",
+"output":[["Character", ";A"]]},
+
+{"description":";A",
+"initialStates":["CDATA section state"],
+"input":";A",
+"output":[["Character", ";A"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";B",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";B",
+"output":[["Character", ";B"]]},
+
+{"description":";B",
+"initialStates":["CDATA section state"],
+"input":";B",
+"output":[["Character", ";B"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";Y",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";Y",
+"output":[["Character", ";Y"]]},
+
+{"description":";Y",
+"initialStates":["CDATA section state"],
+"input":";Y",
+"output":[["Character", ";Y"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";Z",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";Z",
+"output":[["Character", ";Z"]]},
+
+{"description":";Z",
+"initialStates":["CDATA section state"],
+"input":";Z",
+"output":[["Character", ";Z"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";`",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";`",
+"output":[["Character", ";`"]]},
+
+{"description":";`",
+"initialStates":["CDATA section state"],
+"input":";`",
+"output":[["Character", ";`"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";a",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";a",
+"output":[["Character", ";a"]]},
+
+{"description":";a",
+"initialStates":["CDATA section state"],
+"input":";a",
+"output":[["Character", ";a"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";b",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";b",
+"output":[["Character", ";b"]]},
+
+{"description":";b",
+"initialStates":["CDATA section state"],
+"input":";b",
+"output":[["Character", ";b"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";y",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";y",
+"output":[["Character", ";y"]]},
+
+{"description":";y",
+"initialStates":["CDATA section state"],
+"input":";y",
+"output":[["Character", ";y"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";z",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";z",
+"output":[["Character", ";z"]]},
+
+{"description":";z",
+"initialStates":["CDATA section state"],
+"input":";z",
+"output":[["Character", ";z"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";{",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";{",
+"output":[["Character", ";{"]]},
+
+{"description":";{",
+"initialStates":["CDATA section state"],
+"input":";{",
+"output":[["Character", ";{"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":";\\uDBC0\\uDC00",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":";\uDBC0\uDC00",
+"output":[["Character", ";\uDBC0\uDC00"]]},
+
+{"description":";\\uDBC0\\uDC00",
+"initialStates":["CDATA section state"],
+"input":";\uDBC0\uDC00",
+"output":[["Character", ";\uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 3 }
+]},
+
+{"description":"<",
+"input":"<",
+"output":[["Character", "<"]],
+"errors":[
+ { "code": "eof-before-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<\\u0000",
+"input":"<\u0000",
+"output":[["Character", "<\u0000"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 },
+ { "code": "unexpected-null-character", "line": 1, "col": 2 }
+]},
+
+{"description":"<\\u0009",
+"input":"<\u0009",
+"output":[["Character", "<\u0009"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<\\u000A",
+"input":"<\u000A",
+"output":[["Character", "<\u000A"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<\\u000B",
+"input":"<\u000B",
+"output":[["Character", "<\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 2 },
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<\\u000C",
+"input":"<\u000C",
+"output":[["Character", "<\u000C"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"< ",
+"input":"< ",
+"output":[["Character", "< "]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<!",
+"input":"<!",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\\u0000",
+"input":"<!\u0000",
+"output":[["Comment", "\uFFFD"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 },
+ { "code": "unexpected-null-character", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\\u0009",
+"input":"<!\u0009",
+"output":[["Comment", "\u0009"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\\u000A",
+"input":"<!\u000A",
+"output":[["Comment", "\u000A"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\\u000B",
+"input":"<!\u000B",
+"output":[["Comment", "\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 3 },
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\\u000C",
+"input":"<!\u000C",
+"output":[["Comment", "\u000C"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<! ",
+"input":"<! ",
+"output":[["Comment", " "]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<! \\u0000",
+"input":"<! \u0000",
+"output":[["Comment", " \uFFFD"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 },
+ { "code": "unexpected-null-character", "line": 1, "col": 4 }
+]},
+
+{"description":"<!!",
+"input":"<!!",
+"output":[["Comment", "!"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\"",
+"input":"<!\"",
+"output":[["Comment", "\""]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!&",
+"input":"<!&",
+"output":[["Comment", "&"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!'",
+"input":"<!'",
+"output":[["Comment", "'"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!-",
+"input":"<!-",
+"output":[["Comment", "-"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!--",
+"input":"<!--",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 5 }
+]},
+
+{"description":"<!--\\u0000",
+"input":"<!--\u0000",
+"output":[["Comment", "\uFFFD"]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 5 },
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--\\u0009",
+"input":"<!--\u0009",
+"output":[["Comment", "\u0009"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--\\u000A",
+"input":"<!--\u000A",
+"output":[["Comment", "\u000A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 2, "col": 1 }
+]},
+
+{"description":"<!--\\u000B",
+"input":"<!--\u000B",
+"output":[["Comment", "\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 5 },
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--\\u000C",
+"input":"<!--\u000C",
+"output":[["Comment", "\u000C"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!-- ",
+"input":"<!-- ",
+"output":[["Comment", " "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!-- \\u0000",
+"input":"<!-- \u0000",
+"output":[["Comment", " \uFFFD"]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 6 },
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- \\u0009",
+"input":"<!-- \u0009",
+"output":[["Comment", " \u0009"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- \\u000A",
+"input":"<!-- \u000A",
+"output":[["Comment", " \u000A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 2, "col": 1 }
+]},
+
+{"description":"<!-- \\u000B",
+"input":"<!-- \u000B",
+"output":[["Comment", " \u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 },
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- \\u000C",
+"input":"<!-- \u000C",
+"output":[["Comment", " \u000C"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- ",
+"input":"<!-- ",
+"output":[["Comment", " "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- !",
+"input":"<!-- !",
+"output":[["Comment", " !"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- \"",
+"input":"<!-- \"",
+"output":[["Comment", " \""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- &",
+"input":"<!-- &",
+"output":[["Comment", " &"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- '",
+"input":"<!-- '",
+"output":[["Comment", " '"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- ,",
+"input":"<!-- ,",
+"output":[["Comment", " ,"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- -",
+"input":"<!-- -",
+"output":[["Comment", " "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- -\\u0000",
+"input":"<!-- -\u0000",
+"output":[["Comment", " -\uFFFD"]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 7 },
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -\\u0009",
+"input":"<!-- -\u0009",
+"output":[["Comment", " -\u0009"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -\\u000A",
+"input":"<!-- -\u000A",
+"output":[["Comment", " -\u000A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 2, "col": 1 }
+]},
+
+{"description":"<!-- -\\u000B",
+"input":"<!-- -\u000B",
+"output":[["Comment", " -\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 },
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -\\u000C",
+"input":"<!-- -\u000C",
+"output":[["Comment", " -\u000C"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- - ",
+"input":"<!-- - ",
+"output":[["Comment", " - "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -!",
+"input":"<!-- -!",
+"output":[["Comment", " -!"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -\"",
+"input":"<!-- -\"",
+"output":[["Comment", " -\""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -&",
+"input":"<!-- -&",
+"output":[["Comment", " -&"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -'",
+"input":"<!-- -'",
+"output":[["Comment", " -'"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -,",
+"input":"<!-- -,",
+"output":[["Comment", " -,"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- --",
+"input":"<!-- --",
+"output":[["Comment", " "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -.",
+"input":"<!-- -.",
+"output":[["Comment", " -."]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -/",
+"input":"<!-- -/",
+"output":[["Comment", " -/"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -0",
+"input":"<!-- -0",
+"output":[["Comment", " -0"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -1",
+"input":"<!-- -1",
+"output":[["Comment", " -1"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -9",
+"input":"<!-- -9",
+"output":[["Comment", " -9"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -<",
+"input":"<!-- -<",
+"output":[["Comment", " -<"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -=",
+"input":"<!-- -=",
+"output":[["Comment", " -="]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- ->",
+"input":"<!-- ->",
+"output":[["Comment", " ->"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -?",
+"input":"<!-- -?",
+"output":[["Comment", " -?"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -@",
+"input":"<!-- -@",
+"output":[["Comment", " -@"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -A",
+"input":"<!-- -A",
+"output":[["Comment", " -A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -B",
+"input":"<!-- -B",
+"output":[["Comment", " -B"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -Y",
+"input":"<!-- -Y",
+"output":[["Comment", " -Y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -Z",
+"input":"<!-- -Z",
+"output":[["Comment", " -Z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -`",
+"input":"<!-- -`",
+"output":[["Comment", " -`"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -a",
+"input":"<!-- -a",
+"output":[["Comment", " -a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -b",
+"input":"<!-- -b",
+"output":[["Comment", " -b"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -y",
+"input":"<!-- -y",
+"output":[["Comment", " -y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -z",
+"input":"<!-- -z",
+"output":[["Comment", " -z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -{",
+"input":"<!-- -{",
+"output":[["Comment", " -{"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-- -\\uDBC0\\uDC00",
+"input":"<!-- -\uDBC0\uDC00",
+"output":[["Comment", " -\uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!-- .",
+"input":"<!-- .",
+"output":[["Comment", " ."]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- /",
+"input":"<!-- /",
+"output":[["Comment", " /"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- 0",
+"input":"<!-- 0",
+"output":[["Comment", " 0"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- 1",
+"input":"<!-- 1",
+"output":[["Comment", " 1"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- 9",
+"input":"<!-- 9",
+"output":[["Comment", " 9"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- <",
+"input":"<!-- <",
+"output":[["Comment", " <"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- =",
+"input":"<!-- =",
+"output":[["Comment", " ="]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- >",
+"input":"<!-- >",
+"output":[["Comment", " >"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- ?",
+"input":"<!-- ?",
+"output":[["Comment", " ?"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- @",
+"input":"<!-- @",
+"output":[["Comment", " @"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- A",
+"input":"<!-- A",
+"output":[["Comment", " A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- B",
+"input":"<!-- B",
+"output":[["Comment", " B"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- Y",
+"input":"<!-- Y",
+"output":[["Comment", " Y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- Z",
+"input":"<!-- Z",
+"output":[["Comment", " Z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- `",
+"input":"<!-- `",
+"output":[["Comment", " `"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- a",
+"input":"<!-- a",
+"output":[["Comment", " a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- b",
+"input":"<!-- b",
+"output":[["Comment", " b"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- y",
+"input":"<!-- y",
+"output":[["Comment", " y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- z",
+"input":"<!-- z",
+"output":[["Comment", " z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- {",
+"input":"<!-- {",
+"output":[["Comment", " {"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!-- \\uDBC0\\uDC00",
+"input":"<!-- \uDBC0\uDC00",
+"output":[["Comment", " \uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!--!",
+"input":"<!--!",
+"output":[["Comment", "!"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--\"",
+"input":"<!--\"",
+"output":[["Comment", "\""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--&",
+"input":"<!--&",
+"output":[["Comment", "&"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--'",
+"input":"<!--'",
+"output":[["Comment", "'"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--,",
+"input":"<!--,",
+"output":[["Comment", ","]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!---",
+"input":"<!---",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!---\\u0000",
+"input":"<!---\u0000",
+"output":[["Comment", "-\uFFFD"]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 6 },
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---\\u0009",
+"input":"<!---\u0009",
+"output":[["Comment", "-\u0009"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---\\u000A",
+"input":"<!---\u000A",
+"output":[["Comment", "-\u000A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 2, "col": 1 }
+]},
+
+{"description":"<!---\\u000B",
+"input":"<!---\u000B",
+"output":[["Comment", "-\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 },
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---\\u000C",
+"input":"<!---\u000C",
+"output":[["Comment", "-\u000C"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!--- ",
+"input":"<!--- ",
+"output":[["Comment", "- "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---!",
+"input":"<!---!",
+"output":[["Comment", "-!"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---\"",
+"input":"<!---\"",
+"output":[["Comment", "-\""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---&",
+"input":"<!---&",
+"output":[["Comment", "-&"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---'",
+"input":"<!---'",
+"output":[["Comment", "-'"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---,",
+"input":"<!---,",
+"output":[["Comment", "-,"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!----",
+"input":"<!----",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!----\\u0000",
+"input":"<!----\u0000",
+"output":[["Comment", "--\uFFFD"]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 7 },
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----\\u0009",
+"input":"<!----\u0009",
+"output":[["Comment", "--\u0009"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----\\u000A",
+"input":"<!----\u000A",
+"output":[["Comment", "--\u000A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 2, "col": 1 }
+]},
+
+{"description":"<!----\\u000B",
+"input":"<!----\u000B",
+"output":[["Comment", "--\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 },
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----\\u000C",
+"input":"<!----\u000C",
+"output":[["Comment", "--\u000C"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!---- ",
+"input":"<!---- ",
+"output":[["Comment", "-- "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!---- -",
+"input":"<!---- -",
+"output":[["Comment", "-- "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+
+{"description":"<!---- --",
+"input":"<!---- --",
+"output":[["Comment", "-- "]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 10 }
+]},
+
+{"description":"<!---- -->",
+"input":"<!---- -->",
+"output":[["Comment", "-- "]]},
+
+{"description":"<!---- -->",
+"input":"<!---- -->",
+"output":[["Comment", "-- "]]},
+
+{"description":"<!---- a-->",
+"input":"<!---- a-->",
+"output":[["Comment", "-- a"]]},
+
+{"description":"<!----!",
+"input":"<!----!",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----!>",
+"input":"<!----!>",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "incorrectly-closed-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----! >",
+"input":"<!----! >",
+"output":[["Comment", "--! >"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!----!LF>",
+"input":"<!----!\n>",
+"output":[["Comment", "--!\n>"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!----!CR>",
+"input":"<!----!\r>",
+"output":[["Comment", "--!\n>"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!----!CRLF>",
+"input":"<!----!\r\n>",
+"output":[["Comment", "--!\n>"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!----!a",
+"input":"<!----!a",
+"output":[["Comment", "--!a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!----!a-",
+"input":"<!----!a-",
+"output":[["Comment", "--!a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 10 }
+]},
+
+{"description":"<!----!a--",
+"input":"<!----!a--",
+"output":[["Comment", "--!a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 11 }
+]},
+
+{"description":"<!----!a-->",
+"input":"<!----!a-->",
+"output":[["Comment", "--!a"]]},
+
+{"description":"<!----!-",
+"input":"<!----!-",
+"output":[["Comment", "--!"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!----!--",
+"input":"<!----!--",
+"output":[["Comment", "--!"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 10 }
+]},
+
+{"description":"<!----!-->",
+"input":"<!----!-->",
+"output":[["Comment", "--!"]]},
+
+{"description":"<!----\"",
+"input":"<!----\"",
+"output":[["Comment", "--\""]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----&",
+"input":"<!----&",
+"output":[["Comment", "--&"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----'",
+"input":"<!----'",
+"output":[["Comment", "--'"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----,",
+"input":"<!----,",
+"output":[["Comment", "--,"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!-----",
+"input":"<!-----",
+"output":[["Comment", "-"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----.",
+"input":"<!----.",
+"output":[["Comment", "--."]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----/",
+"input":"<!----/",
+"output":[["Comment", "--/"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----0",
+"input":"<!----0",
+"output":[["Comment", "--0"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----1",
+"input":"<!----1",
+"output":[["Comment", "--1"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----9",
+"input":"<!----9",
+"output":[["Comment", "--9"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----<",
+"input":"<!----<",
+"output":[["Comment", "--<"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----=",
+"input":"<!----=",
+"output":[["Comment", "--="]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!---->",
+"input":"<!---->",
+"output":[["Comment", ""]]},
+
+{"description":"<!----?",
+"input":"<!----?",
+"output":[["Comment", "--?"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----@",
+"input":"<!----@",
+"output":[["Comment", "--@"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----A",
+"input":"<!----A",
+"output":[["Comment", "--A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----B",
+"input":"<!----B",
+"output":[["Comment", "--B"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----Y",
+"input":"<!----Y",
+"output":[["Comment", "--Y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----Z",
+"input":"<!----Z",
+"output":[["Comment", "--Z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----`",
+"input":"<!----`",
+"output":[["Comment", "--`"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----a",
+"input":"<!----a",
+"output":[["Comment", "--a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----b",
+"input":"<!----b",
+"output":[["Comment", "--b"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----y",
+"input":"<!----y",
+"output":[["Comment", "--y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----z",
+"input":"<!----z",
+"output":[["Comment", "--z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----{",
+"input":"<!----{",
+"output":[["Comment", "--{"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!----\\uDBC0\\uDC00",
+"input":"<!----\uDBC0\uDC00",
+"output":[["Comment", "--\uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 9 }
+]},
+
+{"description":"<!---.",
+"input":"<!---.",
+"output":[["Comment", "-."]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---/",
+"input":"<!---/",
+"output":[["Comment", "-/"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---0",
+"input":"<!---0",
+"output":[["Comment", "-0"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---1",
+"input":"<!---1",
+"output":[["Comment", "-1"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---9",
+"input":"<!---9",
+"output":[["Comment", "-9"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---<",
+"input":"<!---<",
+"output":[["Comment", "-<"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---=",
+"input":"<!---=",
+"output":[["Comment", "-="]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---?",
+"input":"<!---?",
+"output":[["Comment", "-?"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---@",
+"input":"<!---@",
+"output":[["Comment", "-@"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---A",
+"input":"<!---A",
+"output":[["Comment", "-A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---B",
+"input":"<!---B",
+"output":[["Comment", "-B"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---Y",
+"input":"<!---Y",
+"output":[["Comment", "-Y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---Z",
+"input":"<!---Z",
+"output":[["Comment", "-Z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---`",
+"input":"<!---`",
+"output":[["Comment", "-`"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---a",
+"input":"<!---a",
+"output":[["Comment", "-a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---b",
+"input":"<!---b",
+"output":[["Comment", "-b"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---y",
+"input":"<!---y",
+"output":[["Comment", "-y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---z",
+"input":"<!---z",
+"output":[["Comment", "-z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---{",
+"input":"<!---{",
+"output":[["Comment", "-{"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!---\\uDBC0\\uDC00",
+"input":"<!---\uDBC0\uDC00",
+"output":[["Comment", "-\uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 8 }
+]},
+
+{"description":"<!--.",
+"input":"<!--.",
+"output":[["Comment", "."]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--/",
+"input":"<!--/",
+"output":[["Comment", "/"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--0",
+"input":"<!--0",
+"output":[["Comment", "0"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--1",
+"input":"<!--1",
+"output":[["Comment", "1"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--9",
+"input":"<!--9",
+"output":[["Comment", "9"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--<",
+"input":"<!--<",
+"output":[["Comment", "<"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--=",
+"input":"<!--=",
+"output":[["Comment", "="]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--?",
+"input":"<!--?",
+"output":[["Comment", "?"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--@",
+"input":"<!--@",
+"output":[["Comment", "@"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--A",
+"input":"<!--A",
+"output":[["Comment", "A"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--B",
+"input":"<!--B",
+"output":[["Comment", "B"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--Y",
+"input":"<!--Y",
+"output":[["Comment", "Y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--Z",
+"input":"<!--Z",
+"output":[["Comment", "Z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--`",
+"input":"<!--`",
+"output":[["Comment", "`"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--a",
+"input":"<!--a",
+"output":[["Comment", "a"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--b",
+"input":"<!--b",
+"output":[["Comment", "b"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--y",
+"input":"<!--y",
+"output":[["Comment", "y"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--z",
+"input":"<!--z",
+"output":[["Comment", "z"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--{",
+"input":"<!--{",
+"output":[["Comment", "{"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 6 }
+]},
+
+{"description":"<!--\\uDBC0\\uDC00",
+"input":"<!--\uDBC0\uDC00",
+"output":[["Comment", "\uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-comment", "line": 1, "col": 7 }
+]},
+
+{"description":"<!/",
+"input":"<!/",
+"output":[["Comment", "/"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!0",
+"input":"<!0",
+"output":[["Comment", "0"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!1",
+"input":"<!1",
+"output":[["Comment", "1"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!9",
+"input":"<!9",
+"output":[["Comment", "9"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!<",
+"input":"<!<",
+"output":[["Comment", "<"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!=",
+"input":"<!=",
+"output":[["Comment", "="]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!>",
+"input":"<!>",
+"output":[["Comment", ""]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!?",
+"input":"<!?",
+"output":[["Comment", "?"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!@",
+"input":"<!@",
+"output":[["Comment", "@"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!A",
+"input":"<!A",
+"output":[["Comment", "A"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!B",
+"input":"<!B",
+"output":[["Comment", "B"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!DOCTYPE",
+"input":"<!DOCTYPE",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 10 }
+]},
+
+{"description":"<!DOCTYPE\\u0000",
+"input":"<!DOCTYPE\u0000",
+"output":[["DOCTYPE", "\uFFFD", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "unexpected-null-character", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\\u0008",
+"input":"<!DOCTYPE\u0008",
+"output":[["DOCTYPE", "\u0008", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\\u0009",
+"input":"<!DOCTYPE\u0009",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\\u000A",
+"input":"<!DOCTYPE\u000A",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE\\u000B",
+"input":"<!DOCTYPE\u000B",
+"output":[["DOCTYPE", "\u000B", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\\u000C",
+"input":"<!DOCTYPE\u000C",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\\u000D",
+"input":"<!DOCTYPE\u000D",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE\\u001F",
+"input":"<!DOCTYPE\u001F",
+"output":[["DOCTYPE", "\u001F", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE ",
+"input":"<!DOCTYPE ",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE \\u0000",
+"input":"<!DOCTYPE \u0000",
+"output":[["DOCTYPE", "\uFFFD", null, null, false]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \\u0008",
+"input":"<!DOCTYPE \u0008",
+"output":[["DOCTYPE", "\u0008", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \\u0009",
+"input":"<!DOCTYPE \u0009",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \\u000A",
+"input":"<!DOCTYPE \u000A",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE \\u000B",
+"input":"<!DOCTYPE \u000B",
+"output":[["DOCTYPE", "\u000B", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \\u000C",
+"input":"<!DOCTYPE \u000C",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \\u000D",
+"input":"<!DOCTYPE \u000D",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE \\u001F",
+"input":"<!DOCTYPE \u001F",
+"output":[["DOCTYPE", "\u001F", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE ",
+"input":"<!DOCTYPE ",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE !",
+"input":"<!DOCTYPE !",
+"output":[["DOCTYPE", "!", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \"",
+"input":"<!DOCTYPE \"",
+"output":[["DOCTYPE", "\"", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE &",
+"input":"<!DOCTYPE &",
+"output":[["DOCTYPE", "&", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE '",
+"input":"<!DOCTYPE '",
+"output":[["DOCTYPE", "'", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE -",
+"input":"<!DOCTYPE -",
+"output":[["DOCTYPE", "-", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE /",
+"input":"<!DOCTYPE /",
+"output":[["DOCTYPE", "/", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE 0",
+"input":"<!DOCTYPE 0",
+"output":[["DOCTYPE", "0", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE 1",
+"input":"<!DOCTYPE 1",
+"output":[["DOCTYPE", "1", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE 9",
+"input":"<!DOCTYPE 9",
+"output":[["DOCTYPE", "9", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE <",
+"input":"<!DOCTYPE <",
+"output":[["DOCTYPE", "<", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE =",
+"input":"<!DOCTYPE =",
+"output":[["DOCTYPE", "=", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE >",
+"input":"<!DOCTYPE >",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "missing-doctype-name", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE ?",
+"input":"<!DOCTYPE ?",
+"output":[["DOCTYPE", "?", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE @",
+"input":"<!DOCTYPE @",
+"output":[["DOCTYPE", "@", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE A",
+"input":"<!DOCTYPE A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE B",
+"input":"<!DOCTYPE B",
+"output":[["DOCTYPE", "b", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE Y",
+"input":"<!DOCTYPE Y",
+"output":[["DOCTYPE", "y", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE Z",
+"input":"<!DOCTYPE Z",
+"output":[["DOCTYPE", "z", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE [",
+"input":"<!DOCTYPE [",
+"output":[["DOCTYPE", "[", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE `",
+"input":"<!DOCTYPE `",
+"output":[["DOCTYPE", "`", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE a",
+"input":"<!DOCTYPE a",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE a\\u0000",
+"input":"<!DOCTYPE a\u0000",
+"output":[["DOCTYPE", "a\uFFFD", null, null, false]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 12 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\\u0008",
+"input":"<!DOCTYPE a\u0008",
+"output":[["DOCTYPE", "a\u0008", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\\u0009",
+"input":"<!DOCTYPE a\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\\u000A",
+"input":"<!DOCTYPE a\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE a\\u000B",
+"input":"<!DOCTYPE a\u000B",
+"output":[["DOCTYPE", "a\u000B", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\\u000C",
+"input":"<!DOCTYPE a\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\\u000D",
+"input":"<!DOCTYPE a\u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE a\\u001F",
+"input":"<!DOCTYPE a\u001F",
+"output":[["DOCTYPE", "a\u001F", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a ",
+"input":"<!DOCTYPE a ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a \\u0000",
+"input":"<!DOCTYPE a \u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 },
+ { "code": "unexpected-null-character", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a \\u0008",
+"input":"<!DOCTYPE a \u0008",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 13 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a \\u0009",
+"input":"<!DOCTYPE a \u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 14 }
+]},
+
+{"description":"<!DOCTYPE a \\u000A",
+"input":"<!DOCTYPE a \u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE a \\u000B",
+"input":"<!DOCTYPE a \u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 13 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a \\u000C",
+"input":"<!DOCTYPE a \u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 14 }
+]},
+
+{"description":"<!DOCTYPE a \\u000D",
+"input":"<!DOCTYPE a \u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPE a \\u001F",
+"input":"<!DOCTYPE a \u001F",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 13 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a ",
+"input":"<!DOCTYPE a ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 14 }
+]},
+
+{"description":"<!DOCTYPE a !",
+"input":"<!DOCTYPE a !",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a \"",
+"input":"<!DOCTYPE a \"",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a &",
+"input":"<!DOCTYPE a &",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a '",
+"input":"<!DOCTYPE a '",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a -",
+"input":"<!DOCTYPE a -",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a /",
+"input":"<!DOCTYPE a /",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a 0",
+"input":"<!DOCTYPE a 0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a 1",
+"input":"<!DOCTYPE a 1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a 9",
+"input":"<!DOCTYPE a 9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a <",
+"input":"<!DOCTYPE a <",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a =",
+"input":"<!DOCTYPE a =",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a >",
+"input":"<!DOCTYPE a >",
+"output":[["DOCTYPE", "a", null, null, true]]},
+
+{"description":"<!DOCTYPE a ?",
+"input":"<!DOCTYPE a ?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a @",
+"input":"<!DOCTYPE a @",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a A",
+"input":"<!DOCTYPE a A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a B",
+"input":"<!DOCTYPE a B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC",
+"input":"<!DOCTYPE a PUBLIC",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u0000",
+"input":"<!DOCTYPE a PUBLIC\u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u0008",
+"input":"<!DOCTYPE a PUBLIC\u0008",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u0009",
+"input":"<!DOCTYPE a PUBLIC\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u000A",
+"input":"<!DOCTYPE a PUBLIC\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u000B",
+"input":"<!DOCTYPE a PUBLIC\u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u000C",
+"input":"<!DOCTYPE a PUBLIC\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u000D",
+"input":"<!DOCTYPE a PUBLIC\u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\u001F",
+"input":"<!DOCTYPE a PUBLIC\u001F",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC ",
+"input":"<!DOCTYPE a PUBLIC ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC!",
+"input":"<!DOCTYPE a PUBLIC!",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"",
+"input":"<!DOCTYPE a PUBLIC\"",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\\u0000",
+"input":"<!DOCTYPE a PUBLIC\"\u0000",
+"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "unexpected-null-character", "col": 20, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\\u0009",
+"input":"<!DOCTYPE a PUBLIC\"\u0009",
+"output":[["DOCTYPE", "a", "\u0009", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\\u000A",
+"input":"<!DOCTYPE a PUBLIC\"\u000A",
+"output":[["DOCTYPE", "a", "\u000A", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\\u000B",
+"input":"<!DOCTYPE a PUBLIC\"\u000B",
+"output":[["DOCTYPE", "a", "\u000B", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\\u000C",
+"input":"<!DOCTYPE a PUBLIC\"\u000C",
+"output":[["DOCTYPE", "a", "\u000C", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\" ",
+"input":"<!DOCTYPE a PUBLIC\" ",
+"output":[["DOCTYPE", "a", " ", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"!",
+"input":"<!DOCTYPE a PUBLIC\"!",
+"output":[["DOCTYPE", "a", "!", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\"",
+"input":"<!DOCTYPE a PUBLIC\"\"",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\"\\u0000",
+"input":"<!DOCTYPE a PUBLIC\"\"\u0000",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 },
+ { "code": "unexpected-null-character", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\" \\u0000",
+"input":"<!DOCTYPE a PUBLIC\"\" \u0000",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 22, "line": 1 },
+ { "code": "unexpected-null-character", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"#",
+"input":"<!DOCTYPE a PUBLIC\"#",
+"output":[["DOCTYPE", "a", "#", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"&",
+"input":"<!DOCTYPE a PUBLIC\"&",
+"output":[["DOCTYPE", "a", "&", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"'",
+"input":"<!DOCTYPE a PUBLIC\"'",
+"output":[["DOCTYPE", "a", "'", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"-",
+"input":"<!DOCTYPE a PUBLIC\"-",
+"output":[["DOCTYPE", "a", "-", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"/",
+"input":"<!DOCTYPE a PUBLIC\"/",
+"output":[["DOCTYPE", "a", "/", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"0",
+"input":"<!DOCTYPE a PUBLIC\"0",
+"output":[["DOCTYPE", "a", "0", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"1",
+"input":"<!DOCTYPE a PUBLIC\"1",
+"output":[["DOCTYPE", "a", "1", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"9",
+"input":"<!DOCTYPE a PUBLIC\"9",
+"output":[["DOCTYPE", "a", "9", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"<",
+"input":"<!DOCTYPE a PUBLIC\"<",
+"output":[["DOCTYPE", "a", "<", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"=",
+"input":"<!DOCTYPE a PUBLIC\"=",
+"output":[["DOCTYPE", "a", "=", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\">",
+"input":"<!DOCTYPE a PUBLIC\">",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "abrupt-doctype-public-identifier", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"?",
+"input":"<!DOCTYPE a PUBLIC\"?",
+"output":[["DOCTYPE", "a", "?", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"@",
+"input":"<!DOCTYPE a PUBLIC\"@",
+"output":[["DOCTYPE", "a", "@", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"A",
+"input":"<!DOCTYPE a PUBLIC\"A",
+"output":[["DOCTYPE", "a", "A", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"B",
+"input":"<!DOCTYPE a PUBLIC\"B",
+"output":[["DOCTYPE", "a", "B", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"Y",
+"input":"<!DOCTYPE a PUBLIC\"Y",
+"output":[["DOCTYPE", "a", "Y", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"Z",
+"input":"<!DOCTYPE a PUBLIC\"Z",
+"output":[["DOCTYPE", "a", "Z", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"`",
+"input":"<!DOCTYPE a PUBLIC\"`",
+"output":[["DOCTYPE", "a", "`", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"a",
+"input":"<!DOCTYPE a PUBLIC\"a",
+"output":[["DOCTYPE", "a", "a", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"b",
+"input":"<!DOCTYPE a PUBLIC\"b",
+"output":[["DOCTYPE", "a", "b", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"y",
+"input":"<!DOCTYPE a PUBLIC\"y",
+"output":[["DOCTYPE", "a", "y", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"z",
+"input":"<!DOCTYPE a PUBLIC\"z",
+"output":[["DOCTYPE", "a", "z", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"{",
+"input":"<!DOCTYPE a PUBLIC\"{",
+"output":[["DOCTYPE", "a", "{", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\"\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a PUBLIC\"\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC#",
+"input":"<!DOCTYPE a PUBLIC#",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC&",
+"input":"<!DOCTYPE a PUBLIC&",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'",
+"input":"<!DOCTYPE a PUBLIC'",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\\u0000",
+"input":"<!DOCTYPE a PUBLIC'\u0000",
+"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "unexpected-null-character", "col": 20, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\\u0009",
+"input":"<!DOCTYPE a PUBLIC'\u0009",
+"output":[["DOCTYPE", "a", "\u0009", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\\u000A",
+"input":"<!DOCTYPE a PUBLIC'\u000A",
+"output":[["DOCTYPE", "a", "\u000A", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\\u000B",
+"input":"<!DOCTYPE a PUBLIC'\u000B",
+"output":[["DOCTYPE", "a", "\u000B", null, false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\\u000C",
+"input":"<!DOCTYPE a PUBLIC'\u000C",
+"output":[["DOCTYPE", "a", "\u000C", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC' ",
+"input":"<!DOCTYPE a PUBLIC' ",
+"output":[["DOCTYPE", "a", " ", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'!",
+"input":"<!DOCTYPE a PUBLIC'!",
+"output":[["DOCTYPE", "a", "!", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\"",
+"input":"<!DOCTYPE a PUBLIC'\"",
+"output":[["DOCTYPE", "a", "\"", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'&",
+"input":"<!DOCTYPE a PUBLIC'&",
+"output":[["DOCTYPE", "a", "&", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''",
+"input":"<!DOCTYPE a PUBLIC''",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u0000",
+"input":"<!DOCTYPE a PUBLIC''\u0000",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u0008",
+"input":"<!DOCTYPE a PUBLIC''\u0008",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u0009",
+"input":"<!DOCTYPE a PUBLIC''\u0009",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u000A",
+"input":"<!DOCTYPE a PUBLIC''\u000A",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u000B",
+"input":"<!DOCTYPE a PUBLIC''\u000B",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
+ { "code" : "missing-quote-before-doctype-system-identifier", "col": 21, "line" : 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u000C",
+"input":"<!DOCTYPE a PUBLIC''\u000C",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u000D",
+"input":"<!DOCTYPE a PUBLIC''\u000D",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\u001F",
+"input":"<!DOCTYPE a PUBLIC''\u001F",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
+ { "code" : "missing-quote-before-doctype-system-identifier", "col": 21, "line" : 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'' ",
+"input":"<!DOCTYPE a PUBLIC'' ",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''!",
+"input":"<!DOCTYPE a PUBLIC''!",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\"",
+"input":"<!DOCTYPE a PUBLIC''\"",
+"output":[["DOCTYPE", "a", "", "", false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''#",
+"input":"<!DOCTYPE a PUBLIC''#",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''&",
+"input":"<!DOCTYPE a PUBLIC''&",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'''",
+"input":"<!DOCTYPE a PUBLIC'''",
+"output":[["DOCTYPE", "a", "", "", false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''''\\u0000",
+"input":"<!DOCTYPE a PUBLIC''''\u0000",
+"output":[["DOCTYPE", "a", "", "", true]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 23 },
+ { "code": "unexpected-null-character", "line": 1, "col": 23 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''''x\\u0000",
+"input":"<!DOCTYPE a PUBLIC''''x\u0000",
+"output":[["DOCTYPE", "a", "", "", true]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 23 },
+ { "code": "unexpected-null-character", "line": 1, "col": 24 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'''' \\u0000",
+"input":"<!DOCTYPE a PUBLIC'''' \u0000",
+"output":[["DOCTYPE", "a", "", "", true]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 24 },
+ { "code": "unexpected-null-character", "line": 1, "col": 24 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'''' x\\u0000",
+"input":"<!DOCTYPE a PUBLIC'''' x\u0000",
+"output":[["DOCTYPE", "a", "", "", true]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 24 },
+ { "code": "unexpected-null-character", "line": 1, "col": 25 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''(",
+"input":"<!DOCTYPE a PUBLIC''(",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''-",
+"input":"<!DOCTYPE a PUBLIC''-",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''/",
+"input":"<!DOCTYPE a PUBLIC''/",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''0",
+"input":"<!DOCTYPE a PUBLIC''0",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''1",
+"input":"<!DOCTYPE a PUBLIC''1",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''9",
+"input":"<!DOCTYPE a PUBLIC''9",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''<",
+"input":"<!DOCTYPE a PUBLIC''<",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''=",
+"input":"<!DOCTYPE a PUBLIC''=",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''>",
+"input":"<!DOCTYPE a PUBLIC''>",
+"output":[["DOCTYPE", "a", "", null, true]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''?",
+"input":"<!DOCTYPE a PUBLIC''?",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''@",
+"input":"<!DOCTYPE a PUBLIC''@",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''A",
+"input":"<!DOCTYPE a PUBLIC''A",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''B",
+"input":"<!DOCTYPE a PUBLIC''B",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''Y",
+"input":"<!DOCTYPE a PUBLIC''Y",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''Z",
+"input":"<!DOCTYPE a PUBLIC''Z",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''`",
+"input":"<!DOCTYPE a PUBLIC''`",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''a",
+"input":"<!DOCTYPE a PUBLIC''a",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''b",
+"input":"<!DOCTYPE a PUBLIC''b",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''y",
+"input":"<!DOCTYPE a PUBLIC''y",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''z",
+"input":"<!DOCTYPE a PUBLIC''z",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''{",
+"input":"<!DOCTYPE a PUBLIC''{",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC''\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a PUBLIC''\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'(",
+"input":"<!DOCTYPE a PUBLIC'(",
+"output":[["DOCTYPE", "a", "(", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'-",
+"input":"<!DOCTYPE a PUBLIC'-",
+"output":[["DOCTYPE", "a", "-", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'/",
+"input":"<!DOCTYPE a PUBLIC'/",
+"output":[["DOCTYPE", "a", "/", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'0",
+"input":"<!DOCTYPE a PUBLIC'0",
+"output":[["DOCTYPE", "a", "0", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'1",
+"input":"<!DOCTYPE a PUBLIC'1",
+"output":[["DOCTYPE", "a", "1", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'9",
+"input":"<!DOCTYPE a PUBLIC'9",
+"output":[["DOCTYPE", "a", "9", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'<",
+"input":"<!DOCTYPE a PUBLIC'<",
+"output":[["DOCTYPE", "a", "<", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'=",
+"input":"<!DOCTYPE a PUBLIC'=",
+"output":[["DOCTYPE", "a", "=", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'>",
+"input":"<!DOCTYPE a PUBLIC'>",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "abrupt-doctype-public-identifier", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'?",
+"input":"<!DOCTYPE a PUBLIC'?",
+"output":[["DOCTYPE", "a", "?", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'@",
+"input":"<!DOCTYPE a PUBLIC'@",
+"output":[["DOCTYPE", "a", "@", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'A",
+"input":"<!DOCTYPE a PUBLIC'A",
+"output":[["DOCTYPE", "a", "A", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'B",
+"input":"<!DOCTYPE a PUBLIC'B",
+"output":[["DOCTYPE", "a", "B", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'Y",
+"input":"<!DOCTYPE a PUBLIC'Y",
+"output":[["DOCTYPE", "a", "Y", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'Z",
+"input":"<!DOCTYPE a PUBLIC'Z",
+"output":[["DOCTYPE", "a", "Z", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'`",
+"input":"<!DOCTYPE a PUBLIC'`",
+"output":[["DOCTYPE", "a", "`", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'a",
+"input":"<!DOCTYPE a PUBLIC'a",
+"output":[["DOCTYPE", "a", "a", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'b",
+"input":"<!DOCTYPE a PUBLIC'b",
+"output":[["DOCTYPE", "a", "b", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'y",
+"input":"<!DOCTYPE a PUBLIC'y",
+"output":[["DOCTYPE", "a", "y", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'z",
+"input":"<!DOCTYPE a PUBLIC'z",
+"output":[["DOCTYPE", "a", "z", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'{",
+"input":"<!DOCTYPE a PUBLIC'{",
+"output":[["DOCTYPE", "a", "{", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC'\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a PUBLIC'\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
+"errors": [
+ { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC(",
+"input":"<!DOCTYPE a PUBLIC(",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC-",
+"input":"<!DOCTYPE a PUBLIC-",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC/",
+"input":"<!DOCTYPE a PUBLIC/",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC0",
+"input":"<!DOCTYPE a PUBLIC0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC1",
+"input":"<!DOCTYPE a PUBLIC1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC9",
+"input":"<!DOCTYPE a PUBLIC9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC<",
+"input":"<!DOCTYPE a PUBLIC<",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC=",
+"input":"<!DOCTYPE a PUBLIC=",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC>",
+"input":"<!DOCTYPE a PUBLIC>",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC?",
+"input":"<!DOCTYPE a PUBLIC?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC@",
+"input":"<!DOCTYPE a PUBLIC@",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICA",
+"input":"<!DOCTYPE a PUBLICA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICB",
+"input":"<!DOCTYPE a PUBLICB",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICY",
+"input":"<!DOCTYPE a PUBLICY",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICZ",
+"input":"<!DOCTYPE a PUBLICZ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC`",
+"input":"<!DOCTYPE a PUBLIC`",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICa",
+"input":"<!DOCTYPE a PUBLICa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICb",
+"input":"<!DOCTYPE a PUBLICb",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICy",
+"input":"<!DOCTYPE a PUBLICy",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLICz",
+"input":"<!DOCTYPE a PUBLICz",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC{",
+"input":"<!DOCTYPE a PUBLIC{",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a PUBLIC\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a PUBLIC\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM",
+"input":"<!DOCTYPE a SYSTEM",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u0000",
+"input":"<!DOCTYPE a SYSTEM\u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM \\u0000",
+"input":"<!DOCTYPE a SYSTEM \u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 20, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM x\\u0000",
+"input":"<!DOCTYPE a SYSTEM \u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 20, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u0008",
+"input":"<!DOCTYPE a SYSTEM\u0008",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u0009",
+"input":"<!DOCTYPE a SYSTEM\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u000A",
+"input":"<!DOCTYPE a SYSTEM\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u000B",
+"input":"<!DOCTYPE a SYSTEM\u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u000C",
+"input":"<!DOCTYPE a SYSTEM\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u000D",
+"input":"<!DOCTYPE a SYSTEM\u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\u001F",
+"input":"<!DOCTYPE a SYSTEM\u001F",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM ",
+"input":"<!DOCTYPE a SYSTEM ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors": [
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM!",
+"input":"<!DOCTYPE a SYSTEM!",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"",
+"input":"<!DOCTYPE a SYSTEM\"",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\\u0000",
+"input":"<!DOCTYPE a SYSTEM\"\u0000",
+"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-null-character", "col": 20, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\\u0009",
+"input":"<!DOCTYPE a SYSTEM\"\u0009",
+"output":[["DOCTYPE", "a", null, "\u0009", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\\u000A",
+"input":"<!DOCTYPE a SYSTEM\"\u000A",
+"output":[["DOCTYPE", "a", null, "\u000A", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\\u000B",
+"input":"<!DOCTYPE a SYSTEM\"\u000B",
+"output":[["DOCTYPE", "a", null, "\u000B", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\\u000C",
+"input":"<!DOCTYPE a SYSTEM\"\u000C",
+"output":[["DOCTYPE", "a", null, "\u000C", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\" ",
+"input":"<!DOCTYPE a SYSTEM\" ",
+"output":[["DOCTYPE", "a", null, " ", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"!",
+"input":"<!DOCTYPE a SYSTEM\"!",
+"output":[["DOCTYPE", "a", null, "!", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\"",
+"input":"<!DOCTYPE a SYSTEM\"\"",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"#",
+"input":"<!DOCTYPE a SYSTEM\"#",
+"output":[["DOCTYPE", "a", null, "#", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"&",
+"input":"<!DOCTYPE a SYSTEM\"&",
+"output":[["DOCTYPE", "a", null, "&", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"'",
+"input":"<!DOCTYPE a SYSTEM\"'",
+"output":[["DOCTYPE", "a", null, "'", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"-",
+"input":"<!DOCTYPE a SYSTEM\"-",
+"output":[["DOCTYPE", "a", null, "-", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"/",
+"input":"<!DOCTYPE a SYSTEM\"/",
+"output":[["DOCTYPE", "a", null, "/", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"0",
+"input":"<!DOCTYPE a SYSTEM\"0",
+"output":[["DOCTYPE", "a", null, "0", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"1",
+"input":"<!DOCTYPE a SYSTEM\"1",
+"output":[["DOCTYPE", "a", null, "1", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"9",
+"input":"<!DOCTYPE a SYSTEM\"9",
+"output":[["DOCTYPE", "a", null, "9", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"<",
+"input":"<!DOCTYPE a SYSTEM\"<",
+"output":[["DOCTYPE", "a", null, "<", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"=",
+"input":"<!DOCTYPE a SYSTEM\"=",
+"output":[["DOCTYPE", "a", null, "=", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\">",
+"input":"<!DOCTYPE a SYSTEM\">",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "abrupt-doctype-system-identifier", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"?",
+"input":"<!DOCTYPE a SYSTEM\"?",
+"output":[["DOCTYPE", "a", null, "?", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"@",
+"input":"<!DOCTYPE a SYSTEM\"@",
+"output":[["DOCTYPE", "a", null, "@", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"A",
+"input":"<!DOCTYPE a SYSTEM\"A",
+"output":[["DOCTYPE", "a", null, "A", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"B",
+"input":"<!DOCTYPE a SYSTEM\"B",
+"output":[["DOCTYPE", "a", null, "B", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"Y",
+"input":"<!DOCTYPE a SYSTEM\"Y",
+"output":[["DOCTYPE", "a", null, "Y", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"Z",
+"input":"<!DOCTYPE a SYSTEM\"Z",
+"output":[["DOCTYPE", "a", null, "Z", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"`",
+"input":"<!DOCTYPE a SYSTEM\"`",
+"output":[["DOCTYPE", "a", null, "`", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"a",
+"input":"<!DOCTYPE a SYSTEM\"a",
+"output":[["DOCTYPE", "a", null, "a", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"b",
+"input":"<!DOCTYPE a SYSTEM\"b",
+"output":[["DOCTYPE", "a", null, "b", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"y",
+"input":"<!DOCTYPE a SYSTEM\"y",
+"output":[["DOCTYPE", "a", null, "y", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"z",
+"input":"<!DOCTYPE a SYSTEM\"z",
+"output":[["DOCTYPE", "a", null, "z", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"{",
+"input":"<!DOCTYPE a SYSTEM\"{",
+"output":[["DOCTYPE", "a", null, "{", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\"\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a SYSTEM\"\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM#",
+"input":"<!DOCTYPE a SYSTEM#",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM&",
+"input":"<!DOCTYPE a SYSTEM&",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'",
+"input":"<!DOCTYPE a SYSTEM'",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\\u0000",
+"input":"<!DOCTYPE a SYSTEM'\u0000",
+"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-null-character", "col": 20, "line": 1 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\\u0009",
+"input":"<!DOCTYPE a SYSTEM'\u0009",
+"output":[["DOCTYPE", "a", null, "\u0009", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\\u000A",
+"input":"<!DOCTYPE a SYSTEM'\u000A",
+"output":[["DOCTYPE", "a", null, "\u000A", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\\u000B",
+"input":"<!DOCTYPE a SYSTEM'\u000B",
+"output":[["DOCTYPE", "a", null, "\u000B", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\\u000C",
+"input":"<!DOCTYPE a SYSTEM'\u000C",
+"output":[["DOCTYPE", "a", null, "\u000C", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM' ",
+"input":"<!DOCTYPE a SYSTEM' ",
+"output":[["DOCTYPE", "a", null, " ", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'!",
+"input":"<!DOCTYPE a SYSTEM'!",
+"output":[["DOCTYPE", "a", null, "!", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\"",
+"input":"<!DOCTYPE a SYSTEM'\"",
+"output":[["DOCTYPE", "a", null, "\"", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'&",
+"input":"<!DOCTYPE a SYSTEM'&",
+"output":[["DOCTYPE", "a", null, "&", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''",
+"input":"<!DOCTYPE a SYSTEM''",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u0000",
+"input":"<!DOCTYPE a SYSTEM''\u0000",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u0008",
+"input":"<!DOCTYPE a SYSTEM''\u0008",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u0009",
+"input":"<!DOCTYPE a SYSTEM''\u0009",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u000A",
+"input":"<!DOCTYPE a SYSTEM''\u000A",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u000B",
+"input":"<!DOCTYPE a SYSTEM''\u000B",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
+ { "code" : "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21}
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u000C",
+"input":"<!DOCTYPE a SYSTEM''\u000C",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u000D",
+"input":"<!DOCTYPE a SYSTEM''\u000D",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 1, "line": 2 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\u001F",
+"input":"<!DOCTYPE a SYSTEM''\u001F",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 21 },
+ { "code" : "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21}
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'' ",
+"input":"<!DOCTYPE a SYSTEM'' ",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'' \\u0000",
+"input":"<!DOCTYPE a SYSTEM'' \u0000",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 22, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 22 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'' x\\u0000",
+"input":"<!DOCTYPE a SYSTEM'' x\u0000",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 22, "line": 1 },
+ { "code": "unexpected-null-character", "line": 1, "col": 23 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''!",
+"input":"<!DOCTYPE a SYSTEM''!",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\"",
+"input":"<!DOCTYPE a SYSTEM''\"",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''&",
+"input":"<!DOCTYPE a SYSTEM''&",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'''",
+"input":"<!DOCTYPE a SYSTEM'''",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''-",
+"input":"<!DOCTYPE a SYSTEM''-",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''/",
+"input":"<!DOCTYPE a SYSTEM''/",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''0",
+"input":"<!DOCTYPE a SYSTEM''0",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''1",
+"input":"<!DOCTYPE a SYSTEM''1",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''9",
+"input":"<!DOCTYPE a SYSTEM''9",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''<",
+"input":"<!DOCTYPE a SYSTEM''<",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''=",
+"input":"<!DOCTYPE a SYSTEM''=",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''>",
+"input":"<!DOCTYPE a SYSTEM''>",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''?",
+"input":"<!DOCTYPE a SYSTEM''?",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''@",
+"input":"<!DOCTYPE a SYSTEM''@",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''A",
+"input":"<!DOCTYPE a SYSTEM''A",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''B",
+"input":"<!DOCTYPE a SYSTEM''B",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''Y",
+"input":"<!DOCTYPE a SYSTEM''Y",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''Z",
+"input":"<!DOCTYPE a SYSTEM''Z",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''`",
+"input":"<!DOCTYPE a SYSTEM''`",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''a",
+"input":"<!DOCTYPE a SYSTEM''a",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''b",
+"input":"<!DOCTYPE a SYSTEM''b",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''y",
+"input":"<!DOCTYPE a SYSTEM''y",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''z",
+"input":"<!DOCTYPE a SYSTEM''z",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''{",
+"input":"<!DOCTYPE a SYSTEM''{",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM''\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a SYSTEM''\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'(",
+"input":"<!DOCTYPE a SYSTEM'(",
+"output":[["DOCTYPE", "a", null, "(", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'-",
+"input":"<!DOCTYPE a SYSTEM'-",
+"output":[["DOCTYPE", "a", null, "-", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'/",
+"input":"<!DOCTYPE a SYSTEM'/",
+"output":[["DOCTYPE", "a", null, "/", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'0",
+"input":"<!DOCTYPE a SYSTEM'0",
+"output":[["DOCTYPE", "a", null, "0", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'1",
+"input":"<!DOCTYPE a SYSTEM'1",
+"output":[["DOCTYPE", "a", null, "1", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'9",
+"input":"<!DOCTYPE a SYSTEM'9",
+"output":[["DOCTYPE", "a", null, "9", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'<",
+"input":"<!DOCTYPE a SYSTEM'<",
+"output":[["DOCTYPE", "a", null, "<", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'=",
+"input":"<!DOCTYPE a SYSTEM'=",
+"output":[["DOCTYPE", "a", null, "=", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'>",
+"input":"<!DOCTYPE a SYSTEM'>",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "abrupt-doctype-system-identifier", "col": 20, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'?",
+"input":"<!DOCTYPE a SYSTEM'?",
+"output":[["DOCTYPE", "a", null, "?", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'@",
+"input":"<!DOCTYPE a SYSTEM'@",
+"output":[["DOCTYPE", "a", null, "@", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'A",
+"input":"<!DOCTYPE a SYSTEM'A",
+"output":[["DOCTYPE", "a", null, "A", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'B",
+"input":"<!DOCTYPE a SYSTEM'B",
+"output":[["DOCTYPE", "a", null, "B", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'Y",
+"input":"<!DOCTYPE a SYSTEM'Y",
+"output":[["DOCTYPE", "a", null, "Y", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'Z",
+"input":"<!DOCTYPE a SYSTEM'Z",
+"output":[["DOCTYPE", "a", null, "Z", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'`",
+"input":"<!DOCTYPE a SYSTEM'`",
+"output":[["DOCTYPE", "a", null, "`", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'a",
+"input":"<!DOCTYPE a SYSTEM'a",
+"output":[["DOCTYPE", "a", null, "a", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'b",
+"input":"<!DOCTYPE a SYSTEM'b",
+"output":[["DOCTYPE", "a", null, "b", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'y",
+"input":"<!DOCTYPE a SYSTEM'y",
+"output":[["DOCTYPE", "a", null, "y", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'z",
+"input":"<!DOCTYPE a SYSTEM'z",
+"output":[["DOCTYPE", "a", null, "z", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'{",
+"input":"<!DOCTYPE a SYSTEM'{",
+"output":[["DOCTYPE", "a", null, "{", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 21, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM'\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a SYSTEM'\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
+"errors":[
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "col": 22, "line": 1 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM(",
+"input":"<!DOCTYPE a SYSTEM(",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM-",
+"input":"<!DOCTYPE a SYSTEM-",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM/",
+"input":"<!DOCTYPE a SYSTEM/",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM0",
+"input":"<!DOCTYPE a SYSTEM0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM1",
+"input":"<!DOCTYPE a SYSTEM1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM9",
+"input":"<!DOCTYPE a SYSTEM9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM<",
+"input":"<!DOCTYPE a SYSTEM<",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM=",
+"input":"<!DOCTYPE a SYSTEM=",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM>",
+"input":"<!DOCTYPE a SYSTEM>",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM?",
+"input":"<!DOCTYPE a SYSTEM?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM@",
+"input":"<!DOCTYPE a SYSTEM@",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMA",
+"input":"<!DOCTYPE a SYSTEMA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMB",
+"input":"<!DOCTYPE a SYSTEMB",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMY",
+"input":"<!DOCTYPE a SYSTEMY",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMZ",
+"input":"<!DOCTYPE a SYSTEMZ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM`",
+"input":"<!DOCTYPE a SYSTEM`",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMa",
+"input":"<!DOCTYPE a SYSTEMa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMb",
+"input":"<!DOCTYPE a SYSTEMb",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMy",
+"input":"<!DOCTYPE a SYSTEMy",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEMz",
+"input":"<!DOCTYPE a SYSTEMz",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM{",
+"input":"<!DOCTYPE a SYSTEM{",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a SYSTEM\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a SYSTEM\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPE a Y",
+"input":"<!DOCTYPE a Y",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a Z",
+"input":"<!DOCTYPE a Z",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a `",
+"input":"<!DOCTYPE a `",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a",
+"input":"<!DOCTYPE a a",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a\\u0000",
+"input":"<!DOCTYPE a a\u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 },
+ { "code": "unexpected-null-character", "line": 1, "col": 14 }
+]},
+
+{"description":"<!DOCTYPE a a\\u0009",
+"input":"<!DOCTYPE a a\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a\\u000A",
+"input":"<!DOCTYPE a a\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a\\u000B",
+"input":"<!DOCTYPE a a\u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 14 }
+]},
+
+{"description":"<!DOCTYPE a a\\u000C",
+"input":"<!DOCTYPE a a\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a ",
+"input":"<!DOCTYPE a a ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a!",
+"input":"<!DOCTYPE a a!",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a\"",
+"input":"<!DOCTYPE a a\"",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a&",
+"input":"<!DOCTYPE a a&",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a'",
+"input":"<!DOCTYPE a a'",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a-",
+"input":"<!DOCTYPE a a-",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a/",
+"input":"<!DOCTYPE a a/",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a0",
+"input":"<!DOCTYPE a a0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a1",
+"input":"<!DOCTYPE a a1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a9",
+"input":"<!DOCTYPE a a9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a<",
+"input":"<!DOCTYPE a a<",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a=",
+"input":"<!DOCTYPE a a=",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a>",
+"input":"<!DOCTYPE a a>",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a?",
+"input":"<!DOCTYPE a a?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a@",
+"input":"<!DOCTYPE a a@",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a aA",
+"input":"<!DOCTYPE a aA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a aB",
+"input":"<!DOCTYPE a aB",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a aY",
+"input":"<!DOCTYPE a aY",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a aZ",
+"input":"<!DOCTYPE a aZ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a`",
+"input":"<!DOCTYPE a a`",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a aa",
+"input":"<!DOCTYPE a aa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a ab",
+"input":"<!DOCTYPE a ab",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a ay",
+"input":"<!DOCTYPE a ay",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a az",
+"input":"<!DOCTYPE a az",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a{",
+"input":"<!DOCTYPE a a{",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a a\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a a\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a b",
+"input":"<!DOCTYPE a b",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a y",
+"input":"<!DOCTYPE a y",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a z",
+"input":"<!DOCTYPE a z",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a {",
+"input":"<!DOCTYPE a {",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a \\uDBC0\\uDC00",
+"input":"<!DOCTYPE a \uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a!",
+"input":"<!DOCTYPE a!",
+"output":[["DOCTYPE", "a!", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\"",
+"input":"<!DOCTYPE a\"",
+"output":[["DOCTYPE", "a\"", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a&",
+"input":"<!DOCTYPE a&",
+"output":[["DOCTYPE", "a&", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a'",
+"input":"<!DOCTYPE a'",
+"output":[["DOCTYPE", "a'", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a-",
+"input":"<!DOCTYPE a-",
+"output":[["DOCTYPE", "a-", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a/",
+"input":"<!DOCTYPE a/",
+"output":[["DOCTYPE", "a/", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a0",
+"input":"<!DOCTYPE a0",
+"output":[["DOCTYPE", "a0", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a1",
+"input":"<!DOCTYPE a1",
+"output":[["DOCTYPE", "a1", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a9",
+"input":"<!DOCTYPE a9",
+"output":[["DOCTYPE", "a9", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a<",
+"input":"<!DOCTYPE a<",
+"output":[["DOCTYPE", "a<", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a=",
+"input":"<!DOCTYPE a=",
+"output":[["DOCTYPE", "a=", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a>",
+"input":"<!DOCTYPE a>",
+"output":[["DOCTYPE", "a", null, null, true]]},
+
+{"description":"<!DOCTYPE a?",
+"input":"<!DOCTYPE a?",
+"output":[["DOCTYPE", "a?", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a@",
+"input":"<!DOCTYPE a@",
+"output":[["DOCTYPE", "a@", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE aA",
+"input":"<!DOCTYPE aA",
+"output":[["DOCTYPE", "aa", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE aB",
+"input":"<!DOCTYPE aB",
+"output":[["DOCTYPE", "ab", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE aY",
+"input":"<!DOCTYPE aY",
+"output":[["DOCTYPE", "ay", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE aZ",
+"input":"<!DOCTYPE aZ",
+"output":[["DOCTYPE", "az", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a[",
+"input":"<!DOCTYPE a[",
+"output":[["DOCTYPE", "a[", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a`",
+"input":"<!DOCTYPE a`",
+"output":[["DOCTYPE", "a`", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE aa",
+"input":"<!DOCTYPE aa",
+"output":[["DOCTYPE", "aa", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE ab",
+"input":"<!DOCTYPE ab",
+"output":[["DOCTYPE", "ab", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE ay",
+"input":"<!DOCTYPE ay",
+"output":[["DOCTYPE", "ay", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE az",
+"input":"<!DOCTYPE az",
+"output":[["DOCTYPE", "az", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a{",
+"input":"<!DOCTYPE a{",
+"output":[["DOCTYPE", "a{", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE a\\uDBC0\\uDC00",
+"input":"<!DOCTYPE a\uDBC0\uDC00",
+"output":[["DOCTYPE", "a\uDBC0\uDC00", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 14 }
+]},
+
+{"description":"<!DOCTYPE b",
+"input":"<!DOCTYPE b",
+"output":[["DOCTYPE", "b", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE y",
+"input":"<!DOCTYPE y",
+"output":[["DOCTYPE", "y", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE z",
+"input":"<!DOCTYPE z",
+"output":[["DOCTYPE", "z", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE {",
+"input":"<!DOCTYPE {",
+"output":[["DOCTYPE", "{", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPE \\uDBC0\\uDC00",
+"input":"<!DOCTYPE \uDBC0\uDC00",
+"output":[["DOCTYPE", "\uDBC0\uDC00", null, null, false]],
+"errors":[
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPE!",
+"input":"<!DOCTYPE!",
+"output":[["DOCTYPE", "!", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\"",
+"input":"<!DOCTYPE\"",
+"output":[["DOCTYPE", "\"", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE&",
+"input":"<!DOCTYPE&",
+"output":[["DOCTYPE", "&", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE'",
+"input":"<!DOCTYPE'",
+"output":[["DOCTYPE", "'", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE-",
+"input":"<!DOCTYPE-",
+"output":[["DOCTYPE", "-", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE/",
+"input":"<!DOCTYPE/",
+"output":[["DOCTYPE", "/", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE0",
+"input":"<!DOCTYPE0",
+"output":[["DOCTYPE", "0", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE1",
+"input":"<!DOCTYPE1",
+"output":[["DOCTYPE", "1", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE9",
+"input":"<!DOCTYPE9",
+"output":[["DOCTYPE", "9", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE<",
+"input":"<!DOCTYPE<",
+"output":[["DOCTYPE", "<", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE=",
+"input":"<!DOCTYPE=",
+"output":[["DOCTYPE", "=", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE>",
+"input":"<!DOCTYPE>",
+"output":[["DOCTYPE", null, null, null, false]],
+"errors":[
+ { "code": "missing-doctype-name", "line": 1, "col": 10 }
+]},
+
+{"description":"<!DOCTYPE?",
+"input":"<!DOCTYPE?",
+"output":[["DOCTYPE", "?", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE@",
+"input":"<!DOCTYPE@",
+"output":[["DOCTYPE", "@", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEA",
+"input":"<!DOCTYPEA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEB",
+"input":"<!DOCTYPEB",
+"output":[["DOCTYPE", "b", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEY",
+"input":"<!DOCTYPEY",
+"output":[["DOCTYPE", "y", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEZ",
+"input":"<!DOCTYPEZ",
+"output":[["DOCTYPE", "z", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE`",
+"input":"<!DOCTYPE`",
+"output":[["DOCTYPE", "`", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEa",
+"input":"<!DOCTYPEa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEa\\u0000",
+"input":"<!DOCTYPEa\u0000",
+"output":[["DOCTYPE", "a\uFFFD", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "unexpected-null-character", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\\u0008",
+"input":"<!DOCTYPEa\u0008",
+"output":[["DOCTYPE", "a\u0008", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\\u0009",
+"input":"<!DOCTYPEa\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\\u000A",
+"input":"<!DOCTYPEa\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa\\u000B",
+"input":"<!DOCTYPEa\u000B",
+"output":[["DOCTYPE", "a\u000B", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\\u000C",
+"input":"<!DOCTYPEa\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\\u000D",
+"input":"<!DOCTYPEa\u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa\\u001F",
+"input":"<!DOCTYPEa\u001F",
+"output":[["DOCTYPE", "a\u001F", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 11 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa ",
+"input":"<!DOCTYPEa ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa \\u0000",
+"input":"<!DOCTYPEa \u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 },
+ { "code": "unexpected-null-character", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa \\u0008",
+"input":"<!DOCTYPEa \u0008",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa \\u0009",
+"input":"<!DOCTYPEa \u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPEa \\u000A",
+"input":"<!DOCTYPEa \u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa \\u000B",
+"input":"<!DOCTYPEa \u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa \\u000C",
+"input":"<!DOCTYPEa \u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPEa \\u000D",
+"input":"<!DOCTYPEa \u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa \\u001F",
+"input":"<!DOCTYPEa \u001F",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 12 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa ",
+"input":"<!DOCTYPEa ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPEa !",
+"input":"<!DOCTYPEa !",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa \"",
+"input":"<!DOCTYPEa \"",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa &",
+"input":"<!DOCTYPEa &",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa '",
+"input":"<!DOCTYPEa '",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa -",
+"input":"<!DOCTYPEa -",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa /",
+"input":"<!DOCTYPEa /",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa 0",
+"input":"<!DOCTYPEa 0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa 1",
+"input":"<!DOCTYPEa 1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa 9",
+"input":"<!DOCTYPEa 9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa <",
+"input":"<!DOCTYPEa <",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa =",
+"input":"<!DOCTYPEa =",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa >",
+"input":"<!DOCTYPEa >",
+"output":[["DOCTYPE", "a", null, null, true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }
+]},
+
+{"description":"<!DOCTYPEa ?",
+"input":"<!DOCTYPEa ?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa @",
+"input":"<!DOCTYPEa @",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa A",
+"input":"<!DOCTYPEa A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa B",
+"input":"<!DOCTYPEa B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC",
+"input":"<!DOCTYPEa PUBLIC",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u0000",
+"input":"<!DOCTYPEa PUBLIC\u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 },
+ { "code": "unexpected-null-character", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u0008",
+"input":"<!DOCTYPEa PUBLIC\u0008",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u0009",
+"input":"<!DOCTYPEa PUBLIC\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u000A",
+"input":"<!DOCTYPEa PUBLIC\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u000B",
+"input":"<!DOCTYPEa PUBLIC\u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u000C",
+"input":"<!DOCTYPEa PUBLIC\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u000D",
+"input":"<!DOCTYPEa PUBLIC\u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\u001F",
+"input":"<!DOCTYPEa PUBLIC\u001F",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC ",
+"input":"<!DOCTYPEa PUBLIC ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC!",
+"input":"<!DOCTYPEa PUBLIC!",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"",
+"input":"<!DOCTYPEa PUBLIC\"",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\\u0000",
+"input":"<!DOCTYPEa PUBLIC\"\u0000",
+"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-null-character", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\\u0009",
+"input":"<!DOCTYPEa PUBLIC\"\u0009",
+"output":[["DOCTYPE", "a", "\u0009", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\\u000A",
+"input":"<!DOCTYPEa PUBLIC\"\u000A",
+"output":[["DOCTYPE", "a", "\u000A", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\\u000B",
+"input":"<!DOCTYPEa PUBLIC\"\u000B",
+"output":[["DOCTYPE", "a", "\u000B", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\\u000C",
+"input":"<!DOCTYPEa PUBLIC\"\u000C",
+"output":[["DOCTYPE", "a", "\u000C", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\" ",
+"input":"<!DOCTYPEa PUBLIC\" ",
+"output":[["DOCTYPE", "a", " ", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"!",
+"input":"<!DOCTYPEa PUBLIC\"!",
+"output":[["DOCTYPE", "a", "!", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\"",
+"input":"<!DOCTYPEa PUBLIC\"\"",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"#",
+"input":"<!DOCTYPEa PUBLIC\"#",
+"output":[["DOCTYPE", "a", "#", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"&",
+"input":"<!DOCTYPEa PUBLIC\"&",
+"output":[["DOCTYPE", "a", "&", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"'",
+"input":"<!DOCTYPEa PUBLIC\"'",
+"output":[["DOCTYPE", "a", "'", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"-",
+"input":"<!DOCTYPEa PUBLIC\"-",
+"output":[["DOCTYPE", "a", "-", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"/",
+"input":"<!DOCTYPEa PUBLIC\"/",
+"output":[["DOCTYPE", "a", "/", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"0",
+"input":"<!DOCTYPEa PUBLIC\"0",
+"output":[["DOCTYPE", "a", "0", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"1",
+"input":"<!DOCTYPEa PUBLIC\"1",
+"output":[["DOCTYPE", "a", "1", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"9",
+"input":"<!DOCTYPEa PUBLIC\"9",
+"output":[["DOCTYPE", "a", "9", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"<",
+"input":"<!DOCTYPEa PUBLIC\"<",
+"output":[["DOCTYPE", "a", "<", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"=",
+"input":"<!DOCTYPEa PUBLIC\"=",
+"output":[["DOCTYPE", "a", "=", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\">",
+"input":"<!DOCTYPEa PUBLIC\">",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "abrupt-doctype-public-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"?",
+"input":"<!DOCTYPEa PUBLIC\"?",
+"output":[["DOCTYPE", "a", "?", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"@",
+"input":"<!DOCTYPEa PUBLIC\"@",
+"output":[["DOCTYPE", "a", "@", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"A",
+"input":"<!DOCTYPEa PUBLIC\"A",
+"output":[["DOCTYPE", "a", "A", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"B",
+"input":"<!DOCTYPEa PUBLIC\"B",
+"output":[["DOCTYPE", "a", "B", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"Y",
+"input":"<!DOCTYPEa PUBLIC\"Y",
+"output":[["DOCTYPE", "a", "Y", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"Z",
+"input":"<!DOCTYPEa PUBLIC\"Z",
+"output":[["DOCTYPE", "a", "Z", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"`",
+"input":"<!DOCTYPEa PUBLIC\"`",
+"output":[["DOCTYPE", "a", "`", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"a",
+"input":"<!DOCTYPEa PUBLIC\"a",
+"output":[["DOCTYPE", "a", "a", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"b",
+"input":"<!DOCTYPEa PUBLIC\"b",
+"output":[["DOCTYPE", "a", "b", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"y",
+"input":"<!DOCTYPEa PUBLIC\"y",
+"output":[["DOCTYPE", "a", "y", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"z",
+"input":"<!DOCTYPEa PUBLIC\"z",
+"output":[["DOCTYPE", "a", "z", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"{",
+"input":"<!DOCTYPEa PUBLIC\"{",
+"output":[["DOCTYPE", "a", "{", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\"\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa PUBLIC\"\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC#",
+"input":"<!DOCTYPEa PUBLIC#",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC&",
+"input":"<!DOCTYPEa PUBLIC&",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'",
+"input":"<!DOCTYPEa PUBLIC'",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\\u0000",
+"input":"<!DOCTYPEa PUBLIC'\u0000",
+"output":[["DOCTYPE", "a", "\uFFFD", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-null-character", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\\u0009",
+"input":"<!DOCTYPEa PUBLIC'\u0009",
+"output":[["DOCTYPE", "a", "\u0009", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\\u000A",
+"input":"<!DOCTYPEa PUBLIC'\u000A",
+"output":[["DOCTYPE", "a", "\u000A", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\\u000B",
+"input":"<!DOCTYPEa PUBLIC'\u000B",
+"output":[["DOCTYPE", "a", "\u000B", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\\u000C",
+"input":"<!DOCTYPEa PUBLIC'\u000C",
+"output":[["DOCTYPE", "a", "\u000C", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC' ",
+"input":"<!DOCTYPEa PUBLIC' ",
+"output":[["DOCTYPE", "a", " ", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'!",
+"input":"<!DOCTYPEa PUBLIC'!",
+"output":[["DOCTYPE", "a", "!", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\"",
+"input":"<!DOCTYPEa PUBLIC'\"",
+"output":[["DOCTYPE", "a", "\"", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'&",
+"input":"<!DOCTYPEa PUBLIC'&",
+"output":[["DOCTYPE", "a", "&", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''",
+"input":"<!DOCTYPEa PUBLIC''",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u0000",
+"input":"<!DOCTYPEa PUBLIC''\u0000",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 },
+ { "code": "unexpected-null-character", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u0008",
+"input":"<!DOCTYPEa PUBLIC''\u0008",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u0009",
+"input":"<!DOCTYPEa PUBLIC''\u0009",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u000A",
+"input":"<!DOCTYPEa PUBLIC''\u000A",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u000B",
+"input":"<!DOCTYPEa PUBLIC''\u000B",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u000C",
+"input":"<!DOCTYPEa PUBLIC''\u000C",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u000D",
+"input":"<!DOCTYPEa PUBLIC''\u000D",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\u001F",
+"input":"<!DOCTYPEa PUBLIC''\u001F",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'' ",
+"input":"<!DOCTYPEa PUBLIC'' ",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''!",
+"input":"<!DOCTYPEa PUBLIC''!",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\"",
+"input":"<!DOCTYPEa PUBLIC''\"",
+"output":[["DOCTYPE", "a", "", "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "line": 1, "col": 20 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''#",
+"input":"<!DOCTYPEa PUBLIC''#",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''&",
+"input":"<!DOCTYPEa PUBLIC''&",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'''",
+"input":"<!DOCTYPEa PUBLIC'''",
+"output":[["DOCTYPE", "a", "", "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "line": 1, "col": 20 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''(",
+"input":"<!DOCTYPEa PUBLIC''(",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''-",
+"input":"<!DOCTYPEa PUBLIC''-",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''/",
+"input":"<!DOCTYPEa PUBLIC''/",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''0",
+"input":"<!DOCTYPEa PUBLIC''0",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''1",
+"input":"<!DOCTYPEa PUBLIC''1",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''9",
+"input":"<!DOCTYPEa PUBLIC''9",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''<",
+"input":"<!DOCTYPEa PUBLIC''<",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''=",
+"input":"<!DOCTYPEa PUBLIC''=",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''>",
+"input":"<!DOCTYPEa PUBLIC''>",
+"output":[["DOCTYPE", "a", "", null, true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''?",
+"input":"<!DOCTYPEa PUBLIC''?",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''@",
+"input":"<!DOCTYPEa PUBLIC''@",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''A",
+"input":"<!DOCTYPEa PUBLIC''A",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''B",
+"input":"<!DOCTYPEa PUBLIC''B",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''Y",
+"input":"<!DOCTYPEa PUBLIC''Y",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''Z",
+"input":"<!DOCTYPEa PUBLIC''Z",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''`",
+"input":"<!DOCTYPEa PUBLIC''`",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''a",
+"input":"<!DOCTYPEa PUBLIC''a",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''b",
+"input":"<!DOCTYPEa PUBLIC''b",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''y",
+"input":"<!DOCTYPEa PUBLIC''y",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''z",
+"input":"<!DOCTYPEa PUBLIC''z",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''{",
+"input":"<!DOCTYPEa PUBLIC''{",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC''\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa PUBLIC''\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'(",
+"input":"<!DOCTYPEa PUBLIC'(",
+"output":[["DOCTYPE", "a", "(", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'-",
+"input":"<!DOCTYPEa PUBLIC'-",
+"output":[["DOCTYPE", "a", "-", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'/",
+"input":"<!DOCTYPEa PUBLIC'/",
+"output":[["DOCTYPE", "a", "/", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'0",
+"input":"<!DOCTYPEa PUBLIC'0",
+"output":[["DOCTYPE", "a", "0", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'1",
+"input":"<!DOCTYPEa PUBLIC'1",
+"output":[["DOCTYPE", "a", "1", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'9",
+"input":"<!DOCTYPEa PUBLIC'9",
+"output":[["DOCTYPE", "a", "9", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'<",
+"input":"<!DOCTYPEa PUBLIC'<",
+"output":[["DOCTYPE", "a", "<", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'=",
+"input":"<!DOCTYPEa PUBLIC'=",
+"output":[["DOCTYPE", "a", "=", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'>",
+"input":"<!DOCTYPEa PUBLIC'>",
+"output":[["DOCTYPE", "a", "", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "abrupt-doctype-public-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'?",
+"input":"<!DOCTYPEa PUBLIC'?",
+"output":[["DOCTYPE", "a", "?", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'@",
+"input":"<!DOCTYPEa PUBLIC'@",
+"output":[["DOCTYPE", "a", "@", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'A",
+"input":"<!DOCTYPEa PUBLIC'A",
+"output":[["DOCTYPE", "a", "A", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'B",
+"input":"<!DOCTYPEa PUBLIC'B",
+"output":[["DOCTYPE", "a", "B", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'Y",
+"input":"<!DOCTYPEa PUBLIC'Y",
+"output":[["DOCTYPE", "a", "Y", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'Z",
+"input":"<!DOCTYPEa PUBLIC'Z",
+"output":[["DOCTYPE", "a", "Z", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'`",
+"input":"<!DOCTYPEa PUBLIC'`",
+"output":[["DOCTYPE", "a", "`", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'a",
+"input":"<!DOCTYPEa PUBLIC'a",
+"output":[["DOCTYPE", "a", "a", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'b",
+"input":"<!DOCTYPEa PUBLIC'b",
+"output":[["DOCTYPE", "a", "b", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'y",
+"input":"<!DOCTYPEa PUBLIC'y",
+"output":[["DOCTYPE", "a", "y", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'z",
+"input":"<!DOCTYPEa PUBLIC'z",
+"output":[["DOCTYPE", "a", "z", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'{",
+"input":"<!DOCTYPEa PUBLIC'{",
+"output":[["DOCTYPE", "a", "{", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC'\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa PUBLIC'\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC(",
+"input":"<!DOCTYPEa PUBLIC(",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC-",
+"input":"<!DOCTYPEa PUBLIC-",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC/",
+"input":"<!DOCTYPEa PUBLIC/",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC0",
+"input":"<!DOCTYPEa PUBLIC0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC1",
+"input":"<!DOCTYPEa PUBLIC1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC9",
+"input":"<!DOCTYPEa PUBLIC9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC<",
+"input":"<!DOCTYPEa PUBLIC<",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC=",
+"input":"<!DOCTYPEa PUBLIC=",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC>",
+"input":"<!DOCTYPEa PUBLIC>",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC?",
+"input":"<!DOCTYPEa PUBLIC?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC@",
+"input":"<!DOCTYPEa PUBLIC@",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICA",
+"input":"<!DOCTYPEa PUBLICA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICB",
+"input":"<!DOCTYPEa PUBLICB",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICY",
+"input":"<!DOCTYPEa PUBLICY",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICZ",
+"input":"<!DOCTYPEa PUBLICZ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC`",
+"input":"<!DOCTYPEa PUBLIC`",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICa",
+"input":"<!DOCTYPEa PUBLICa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICb",
+"input":"<!DOCTYPEa PUBLICb",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICy",
+"input":"<!DOCTYPEa PUBLICy",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLICz",
+"input":"<!DOCTYPEa PUBLICz",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC{",
+"input":"<!DOCTYPEa PUBLIC{",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa PUBLIC\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa PUBLIC\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM",
+"input":"<!DOCTYPEa SYSTEM",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u0000",
+"input":"<!DOCTYPEa SYSTEM\u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 },
+ { "code": "unexpected-null-character", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u0008",
+"input":"<!DOCTYPEa SYSTEM\u0008",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u0009",
+"input":"<!DOCTYPEa SYSTEM\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u000A",
+"input":"<!DOCTYPEa SYSTEM\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u000B",
+"input":"<!DOCTYPEa SYSTEM\u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u000C",
+"input":"<!DOCTYPEa SYSTEM\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u000D",
+"input":"<!DOCTYPEa SYSTEM\u000D",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\u001F",
+"input":"<!DOCTYPEa SYSTEM\u001F",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 18 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM ",
+"input":"<!DOCTYPEa SYSTEM ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM!",
+"input":"<!DOCTYPEa SYSTEM!",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"",
+"input":"<!DOCTYPEa SYSTEM\"",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\\u0000",
+"input":"<!DOCTYPEa SYSTEM\"\u0000",
+"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-null-character", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\\u0009",
+"input":"<!DOCTYPEa SYSTEM\"\u0009",
+"output":[["DOCTYPE", "a", null, "\u0009", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\\u000A",
+"input":"<!DOCTYPEa SYSTEM\"\u000A",
+"output":[["DOCTYPE", "a", null, "\u000A", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\\u000B",
+"input":"<!DOCTYPEa SYSTEM\"\u000B",
+"output":[["DOCTYPE", "a", null, "\u000B", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\\u000C",
+"input":"<!DOCTYPEa SYSTEM\"\u000C",
+"output":[["DOCTYPE", "a", null, "\u000C", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\" ",
+"input":"<!DOCTYPEa SYSTEM\" ",
+"output":[["DOCTYPE", "a", null, " ", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"!",
+"input":"<!DOCTYPEa SYSTEM\"!",
+"output":[["DOCTYPE", "a", null, "!", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\"",
+"input":"<!DOCTYPEa SYSTEM\"\"",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"#",
+"input":"<!DOCTYPEa SYSTEM\"#",
+"output":[["DOCTYPE", "a", null, "#", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"&",
+"input":"<!DOCTYPEa SYSTEM\"&",
+"output":[["DOCTYPE", "a", null, "&", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"'",
+"input":"<!DOCTYPEa SYSTEM\"'",
+"output":[["DOCTYPE", "a", null, "'", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"-",
+"input":"<!DOCTYPEa SYSTEM\"-",
+"output":[["DOCTYPE", "a", null, "-", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"/",
+"input":"<!DOCTYPEa SYSTEM\"/",
+"output":[["DOCTYPE", "a", null, "/", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"0",
+"input":"<!DOCTYPEa SYSTEM\"0",
+"output":[["DOCTYPE", "a", null, "0", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"1",
+"input":"<!DOCTYPEa SYSTEM\"1",
+"output":[["DOCTYPE", "a", null, "1", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"9",
+"input":"<!DOCTYPEa SYSTEM\"9",
+"output":[["DOCTYPE", "a", null, "9", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"<",
+"input":"<!DOCTYPEa SYSTEM\"<",
+"output":[["DOCTYPE", "a", null, "<", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"=",
+"input":"<!DOCTYPEa SYSTEM\"=",
+"output":[["DOCTYPE", "a", null, "=", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\">",
+"input":"<!DOCTYPEa SYSTEM\">",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "abrupt-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"?",
+"input":"<!DOCTYPEa SYSTEM\"?",
+"output":[["DOCTYPE", "a", null, "?", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"@",
+"input":"<!DOCTYPEa SYSTEM\"@",
+"output":[["DOCTYPE", "a", null, "@", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"A",
+"input":"<!DOCTYPEa SYSTEM\"A",
+"output":[["DOCTYPE", "a", null, "A", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"B",
+"input":"<!DOCTYPEa SYSTEM\"B",
+"output":[["DOCTYPE", "a", null, "B", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"Y",
+"input":"<!DOCTYPEa SYSTEM\"Y",
+"output":[["DOCTYPE", "a", null, "Y", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"Z",
+"input":"<!DOCTYPEa SYSTEM\"Z",
+"output":[["DOCTYPE", "a", null, "Z", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"`",
+"input":"<!DOCTYPEa SYSTEM\"`",
+"output":[["DOCTYPE", "a", null, "`", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"a",
+"input":"<!DOCTYPEa SYSTEM\"a",
+"output":[["DOCTYPE", "a", null, "a", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"b",
+"input":"<!DOCTYPEa SYSTEM\"b",
+"output":[["DOCTYPE", "a", null, "b", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"y",
+"input":"<!DOCTYPEa SYSTEM\"y",
+"output":[["DOCTYPE", "a", null, "y", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"z",
+"input":"<!DOCTYPEa SYSTEM\"z",
+"output":[["DOCTYPE", "a", null, "z", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"{",
+"input":"<!DOCTYPEa SYSTEM\"{",
+"output":[["DOCTYPE", "a", null, "{", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\"\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa SYSTEM\"\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM#",
+"input":"<!DOCTYPEa SYSTEM#",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM&",
+"input":"<!DOCTYPEa SYSTEM&",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'",
+"input":"<!DOCTYPEa SYSTEM'",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\\u0000",
+"input":"<!DOCTYPEa SYSTEM'\u0000",
+"output":[["DOCTYPE", "a", null, "\uFFFD", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-null-character", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\\u0009",
+"input":"<!DOCTYPEa SYSTEM'\u0009",
+"output":[["DOCTYPE", "a", null, "\u0009", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\\u000A",
+"input":"<!DOCTYPEa SYSTEM'\u000A",
+"output":[["DOCTYPE", "a", null, "\u000A", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\\u000B",
+"input":"<!DOCTYPEa SYSTEM'\u000B",
+"output":[["DOCTYPE", "a", null, "\u000B", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 19 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\\u000C",
+"input":"<!DOCTYPEa SYSTEM'\u000C",
+"output":[["DOCTYPE", "a", null, "\u000C", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM' ",
+"input":"<!DOCTYPEa SYSTEM' ",
+"output":[["DOCTYPE", "a", null, " ", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'!",
+"input":"<!DOCTYPEa SYSTEM'!",
+"output":[["DOCTYPE", "a", null, "!", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\"",
+"input":"<!DOCTYPEa SYSTEM'\"",
+"output":[["DOCTYPE", "a", null, "\"", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'&",
+"input":"<!DOCTYPEa SYSTEM'&",
+"output":[["DOCTYPE", "a", null, "&", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''",
+"input":"<!DOCTYPEa SYSTEM''",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u0000",
+"input":"<!DOCTYPEa SYSTEM''\u0000",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 },
+ { "code": "unexpected-null-character", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u0008",
+"input":"<!DOCTYPEa SYSTEM''\u0008",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u0009",
+"input":"<!DOCTYPEa SYSTEM''\u0009",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u000A",
+"input":"<!DOCTYPEa SYSTEM''\u000A",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u000B",
+"input":"<!DOCTYPEa SYSTEM''\u000B",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u000C",
+"input":"<!DOCTYPEa SYSTEM''\u000C",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u000D",
+"input":"<!DOCTYPEa SYSTEM''\u000D",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 2, "col": 1 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\u001F",
+"input":"<!DOCTYPEa SYSTEM''\u001F",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 20 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'' ",
+"input":"<!DOCTYPEa SYSTEM'' ",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''!",
+"input":"<!DOCTYPEa SYSTEM''!",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\"",
+"input":"<!DOCTYPEa SYSTEM''\"",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''&",
+"input":"<!DOCTYPEa SYSTEM''&",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'''",
+"input":"<!DOCTYPEa SYSTEM'''",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''-",
+"input":"<!DOCTYPEa SYSTEM''-",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''/",
+"input":"<!DOCTYPEa SYSTEM''/",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''0",
+"input":"<!DOCTYPEa SYSTEM''0",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''1",
+"input":"<!DOCTYPEa SYSTEM''1",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''9",
+"input":"<!DOCTYPEa SYSTEM''9",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''<",
+"input":"<!DOCTYPEa SYSTEM''<",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''=",
+"input":"<!DOCTYPEa SYSTEM''=",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''>",
+"input":"<!DOCTYPEa SYSTEM''>",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''?",
+"input":"<!DOCTYPEa SYSTEM''?",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''@",
+"input":"<!DOCTYPEa SYSTEM''@",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''A",
+"input":"<!DOCTYPEa SYSTEM''A",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''B",
+"input":"<!DOCTYPEa SYSTEM''B",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''Y",
+"input":"<!DOCTYPEa SYSTEM''Y",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''Z",
+"input":"<!DOCTYPEa SYSTEM''Z",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''`",
+"input":"<!DOCTYPEa SYSTEM''`",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''a",
+"input":"<!DOCTYPEa SYSTEM''a",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''b",
+"input":"<!DOCTYPEa SYSTEM''b",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''y",
+"input":"<!DOCTYPEa SYSTEM''y",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''z",
+"input":"<!DOCTYPEa SYSTEM''z",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''{",
+"input":"<!DOCTYPEa SYSTEM''{",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM''\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa SYSTEM''\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, "", true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'(",
+"input":"<!DOCTYPEa SYSTEM'(",
+"output":[["DOCTYPE", "a", null, "(", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'-",
+"input":"<!DOCTYPEa SYSTEM'-",
+"output":[["DOCTYPE", "a", null, "-", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'/",
+"input":"<!DOCTYPEa SYSTEM'/",
+"output":[["DOCTYPE", "a", null, "/", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'0",
+"input":"<!DOCTYPEa SYSTEM'0",
+"output":[["DOCTYPE", "a", null, "0", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'1",
+"input":"<!DOCTYPEa SYSTEM'1",
+"output":[["DOCTYPE", "a", null, "1", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'9",
+"input":"<!DOCTYPEa SYSTEM'9",
+"output":[["DOCTYPE", "a", null, "9", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'<",
+"input":"<!DOCTYPEa SYSTEM'<",
+"output":[["DOCTYPE", "a", null, "<", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'=",
+"input":"<!DOCTYPEa SYSTEM'=",
+"output":[["DOCTYPE", "a", null, "=", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'>",
+"input":"<!DOCTYPEa SYSTEM'>",
+"output":[["DOCTYPE", "a", null, "", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "abrupt-doctype-system-identifier", "line": 1, "col": 19 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'?",
+"input":"<!DOCTYPEa SYSTEM'?",
+"output":[["DOCTYPE", "a", null, "?", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'@",
+"input":"<!DOCTYPEa SYSTEM'@",
+"output":[["DOCTYPE", "a", null, "@", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'A",
+"input":"<!DOCTYPEa SYSTEM'A",
+"output":[["DOCTYPE", "a", null, "A", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'B",
+"input":"<!DOCTYPEa SYSTEM'B",
+"output":[["DOCTYPE", "a", null, "B", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'Y",
+"input":"<!DOCTYPEa SYSTEM'Y",
+"output":[["DOCTYPE", "a", null, "Y", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'Z",
+"input":"<!DOCTYPEa SYSTEM'Z",
+"output":[["DOCTYPE", "a", null, "Z", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'`",
+"input":"<!DOCTYPEa SYSTEM'`",
+"output":[["DOCTYPE", "a", null, "`", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'a",
+"input":"<!DOCTYPEa SYSTEM'a",
+"output":[["DOCTYPE", "a", null, "a", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'b",
+"input":"<!DOCTYPEa SYSTEM'b",
+"output":[["DOCTYPE", "a", null, "b", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'y",
+"input":"<!DOCTYPEa SYSTEM'y",
+"output":[["DOCTYPE", "a", null, "y", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'z",
+"input":"<!DOCTYPEa SYSTEM'z",
+"output":[["DOCTYPE", "a", null, "z", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'{",
+"input":"<!DOCTYPEa SYSTEM'{",
+"output":[["DOCTYPE", "a", null, "{", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 20 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM'\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa SYSTEM'\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 },
+ { "code": "eof-in-doctype", "line": 1, "col": 21 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM(",
+"input":"<!DOCTYPEa SYSTEM(",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM-",
+"input":"<!DOCTYPEa SYSTEM-",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM/",
+"input":"<!DOCTYPEa SYSTEM/",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM0",
+"input":"<!DOCTYPEa SYSTEM0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM1",
+"input":"<!DOCTYPEa SYSTEM1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM9",
+"input":"<!DOCTYPEa SYSTEM9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM<",
+"input":"<!DOCTYPEa SYSTEM<",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM=",
+"input":"<!DOCTYPEa SYSTEM=",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM>",
+"input":"<!DOCTYPEa SYSTEM>",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM?",
+"input":"<!DOCTYPEa SYSTEM?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM@",
+"input":"<!DOCTYPEa SYSTEM@",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMA",
+"input":"<!DOCTYPEa SYSTEMA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMB",
+"input":"<!DOCTYPEa SYSTEMB",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMY",
+"input":"<!DOCTYPEa SYSTEMY",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMZ",
+"input":"<!DOCTYPEa SYSTEMZ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM`",
+"input":"<!DOCTYPEa SYSTEM`",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMa",
+"input":"<!DOCTYPEa SYSTEMa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMb",
+"input":"<!DOCTYPEa SYSTEMb",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMy",
+"input":"<!DOCTYPEa SYSTEMy",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEMz",
+"input":"<!DOCTYPEa SYSTEMz",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM{",
+"input":"<!DOCTYPEa SYSTEM{",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa SYSTEM\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa SYSTEM\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }
+]},
+
+{"description":"<!DOCTYPEa Y",
+"input":"<!DOCTYPEa Y",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa Z",
+"input":"<!DOCTYPEa Z",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa `",
+"input":"<!DOCTYPEa `",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a",
+"input":"<!DOCTYPEa a",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a\\u0000",
+"input":"<!DOCTYPEa a\u0000",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 },
+ { "code": "unexpected-null-character", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPEa a\\u0009",
+"input":"<!DOCTYPEa a\u0009",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a\\u000A",
+"input":"<!DOCTYPEa a\u000A",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a\\u000B",
+"input":"<!DOCTYPEa a\u000B",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPEa a\\u000C",
+"input":"<!DOCTYPEa a\u000C",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a ",
+"input":"<!DOCTYPEa a ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a!",
+"input":"<!DOCTYPEa a!",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a\"",
+"input":"<!DOCTYPEa a\"",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a&",
+"input":"<!DOCTYPEa a&",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a'",
+"input":"<!DOCTYPEa a'",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a-",
+"input":"<!DOCTYPEa a-",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a/",
+"input":"<!DOCTYPEa a/",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a0",
+"input":"<!DOCTYPEa a0",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a1",
+"input":"<!DOCTYPEa a1",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a9",
+"input":"<!DOCTYPEa a9",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a<",
+"input":"<!DOCTYPEa a<",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a=",
+"input":"<!DOCTYPEa a=",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a>",
+"input":"<!DOCTYPEa a>",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a?",
+"input":"<!DOCTYPEa a?",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a@",
+"input":"<!DOCTYPEa a@",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa aA",
+"input":"<!DOCTYPEa aA",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa aB",
+"input":"<!DOCTYPEa aB",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa aY",
+"input":"<!DOCTYPEa aY",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa aZ",
+"input":"<!DOCTYPEa aZ",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a`",
+"input":"<!DOCTYPEa a`",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa aa",
+"input":"<!DOCTYPEa aa",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa ab",
+"input":"<!DOCTYPEa ab",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa ay",
+"input":"<!DOCTYPEa ay",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa az",
+"input":"<!DOCTYPEa az",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a{",
+"input":"<!DOCTYPEa a{",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa a\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa a\uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa b",
+"input":"<!DOCTYPEa b",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa y",
+"input":"<!DOCTYPEa y",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa z",
+"input":"<!DOCTYPEa z",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa {",
+"input":"<!DOCTYPEa {",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa \\uDBC0\\uDC00",
+"input":"<!DOCTYPEa \uDBC0\uDC00",
+"output":[["DOCTYPE", "a", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa!",
+"input":"<!DOCTYPEa!",
+"output":[["DOCTYPE", "a!", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\"",
+"input":"<!DOCTYPEa\"",
+"output":[["DOCTYPE", "a\"", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa&",
+"input":"<!DOCTYPEa&",
+"output":[["DOCTYPE", "a&", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa'",
+"input":"<!DOCTYPEa'",
+"output":[["DOCTYPE", "a'", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa-",
+"input":"<!DOCTYPEa-",
+"output":[["DOCTYPE", "a-", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa/",
+"input":"<!DOCTYPEa/",
+"output":[["DOCTYPE", "a/", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa0",
+"input":"<!DOCTYPEa0",
+"output":[["DOCTYPE", "a0", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa1",
+"input":"<!DOCTYPEa1",
+"output":[["DOCTYPE", "a1", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa9",
+"input":"<!DOCTYPEa9",
+"output":[["DOCTYPE", "a9", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa<",
+"input":"<!DOCTYPEa<",
+"output":[["DOCTYPE", "a<", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa=",
+"input":"<!DOCTYPEa=",
+"output":[["DOCTYPE", "a=", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa>",
+"input":"<!DOCTYPEa>",
+"output":[["DOCTYPE", "a", null, null, true]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }
+]},
+
+{"description":"<!DOCTYPEa?",
+"input":"<!DOCTYPEa?",
+"output":[["DOCTYPE", "a?", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa@",
+"input":"<!DOCTYPEa@",
+"output":[["DOCTYPE", "a@", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEaA",
+"input":"<!DOCTYPEaA",
+"output":[["DOCTYPE", "aa", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEaB",
+"input":"<!DOCTYPEaB",
+"output":[["DOCTYPE", "ab", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEaY",
+"input":"<!DOCTYPEaY",
+"output":[["DOCTYPE", "ay", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEaZ",
+"input":"<!DOCTYPEaZ",
+"output":[["DOCTYPE", "az", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa[",
+"input":"<!DOCTYPEa[",
+"output":[["DOCTYPE", "a[", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa`",
+"input":"<!DOCTYPEa`",
+"output":[["DOCTYPE", "a`", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEaa",
+"input":"<!DOCTYPEaa",
+"output":[["DOCTYPE", "aa", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEab",
+"input":"<!DOCTYPEab",
+"output":[["DOCTYPE", "ab", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEay",
+"input":"<!DOCTYPEay",
+"output":[["DOCTYPE", "ay", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEaz",
+"input":"<!DOCTYPEaz",
+"output":[["DOCTYPE", "az", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa{",
+"input":"<!DOCTYPEa{",
+"output":[["DOCTYPE", "a{", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!DOCTYPEa\\uDBC0\\uDC00",
+"input":"<!DOCTYPEa\uDBC0\uDC00",
+"output":[["DOCTYPE", "a\uDBC0\uDC00", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 13 }
+]},
+
+{"description":"<!DOCTYPEb",
+"input":"<!DOCTYPEb",
+"output":[["DOCTYPE", "b", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEy",
+"input":"<!DOCTYPEy",
+"output":[["DOCTYPE", "y", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPEz",
+"input":"<!DOCTYPEz",
+"output":[["DOCTYPE", "z", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE{",
+"input":"<!DOCTYPE{",
+"output":[["DOCTYPE", "{", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 11 }
+]},
+
+{"description":"<!DOCTYPE\\uDBC0\\uDC00",
+"input":"<!DOCTYPE\uDBC0\uDC00",
+"output":[["DOCTYPE", "\uDBC0\uDC00", null, null, false]],
+"errors":[
+ { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 },
+ { "code": "eof-in-doctype", "line": 1, "col": 12 }
+]},
+
+{"description":"<!Y",
+"input":"<!Y",
+"output":[["Comment", "Y"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!Z",
+"input":"<!Z",
+"output":[["Comment", "Z"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!`",
+"input":"<!`",
+"output":[["Comment", "`"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!a",
+"input":"<!a",
+"output":[["Comment", "a"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!b",
+"input":"<!b",
+"output":[["Comment", "b"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!y",
+"input":"<!y",
+"output":[["Comment", "y"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!z",
+"input":"<!z",
+"output":[["Comment", "z"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!{",
+"input":"<!{",
+"output":[["Comment", "{"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<!\\uDBC0\\uDC00",
+"input":"<!\uDBC0\uDC00",
+"output":[["Comment", "\uDBC0\uDC00"]],
+"errors":[
+ { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }
+]},
+
+{"description":"<\"",
+"input":"<\"",
+"output":[["Character", "<\""]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<&",
+"input":"<&",
+"output":[["Character", "<&"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<'",
+"input":"<'",
+"output":[["Character", "<'"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<-",
+"input":"<-",
+"output":[["Character", "<-"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<.",
+"input":"<.",
+"output":[["Character", "<."]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"</",
+"input":"</",
+"output":[["Character", "</"]],
+"errors":[
+ { "code": "eof-before-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</\\u0000",
+"input":"</\u0000",
+"output":[["Comment", "\uFFFD"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 },
+ { "code": "unexpected-null-character", "line": 1, "col": 3 }
+]},
+
+{"description":"</\\u0009",
+"input":"</\u0009",
+"output":[["Comment", "\u0009"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</\\u000A",
+"input":"</\u000A",
+"output":[["Comment", "\u000A"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</\\u000B",
+"input":"</\u000B",
+"output":[["Comment", "\u000B"]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 3 },
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</\\u000C",
+"input":"</\u000C",
+"output":[["Comment", "\u000C"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</ ",
+"input":"</ ",
+"output":[["Comment", " "]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</ \\u0000",
+"input":"</ \u0000",
+"output":[["Comment", " \uFFFD"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 },
+ { "code": "unexpected-null-character", "line": 1, "col": 4 }
+]},
+
+{"description":"</!",
+"input":"</!",
+"output":[["Comment", "!"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</\"",
+"input":"</\"",
+"output":[["Comment", "\""]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</&",
+"input":"</&",
+"output":[["Comment", "&"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</'",
+"input":"</'",
+"output":[["Comment", "'"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</-",
+"input":"</-",
+"output":[["Comment", "-"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"<//",
+"input":"<//",
+"output":[["Comment", "/"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</0",
+"input":"</0",
+"output":[["Comment", "0"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</1",
+"input":"</1",
+"output":[["Comment", "1"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</9",
+"input":"</9",
+"output":[["Comment", "9"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</<",
+"input":"</<",
+"output":[["Comment", "<"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</=",
+"input":"</=",
+"output":[["Comment", "="]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</>",
+"input":"</>",
+"output":[],
+"errors":[
+ { "code": "missing-end-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</?",
+"input":"</?",
+"output":[["Comment", "?"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</@",
+"input":"</@",
+"output":[["Comment", "@"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</A>",
+"input":"</A>",
+"output":[["EndTag", "a"]]},
+
+{"description":"</B>",
+"input":"</B>",
+"output":[["EndTag", "b"]]},
+
+{"description":"</Y>",
+"input":"</Y>",
+"output":[["EndTag", "y"]]},
+
+{"description":"</Z>",
+"input":"</Z>",
+"output":[["EndTag", "z"]]},
+
+{"description":"</[",
+"input":"</[",
+"output":[["Comment", "["]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</`",
+"input":"</`",
+"output":[["Comment", "`"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</a>",
+"input":"</a>",
+"output":[["EndTag", "a"]]},
+
+{"description":"</b>",
+"input":"</b>",
+"output":[["EndTag", "b"]]},
+
+{"description":"</y>",
+"input":"</y>",
+"output":[["EndTag", "y"]]},
+
+{"description":"</z>",
+"input":"</z>",
+"output":[["EndTag", "z"]]},
+
+{"description":"</{",
+"input":"</{",
+"output":[["Comment", "{"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"</\\uDBC0\\uDC00",
+"input":"</\uDBC0\uDC00",
+"output":[["Comment", "\uDBC0\uDC00"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"<0",
+"input":"<0",
+"output":[["Character", "<0"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<1",
+"input":"<1",
+"output":[["Character", "<1"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<9",
+"input":"<9",
+"output":[["Character", "<9"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<<",
+"input":"<<",
+"output":[["Character", "<<"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 },
+ { "code": "eof-before-tag-name", "line": 1, "col": 3 }
+]},
+
+{"description":"<=",
+"input":"<=",
+"output":[["Character", "<="]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<>",
+"input":"<>",
+"output":[["Character", "<>"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?",
+"input":"<?",
+"output":[["Comment", "?"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?\\u0000",
+"input":"<?\u0000",
+"output":[["Comment", "?\uFFFD"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 },
+ { "code": "unexpected-null-character", "line": 1, "col": 3 }
+]},
+
+{"description":"<?\\u0009",
+"input":"<?\u0009",
+"output":[["Comment", "?\u0009"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?\\u000A",
+"input":"<?\u000A",
+"output":[["Comment", "?\u000A"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?\\u000B",
+"input":"<?\u000B",
+"output":[["Comment", "?\u000B"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 },
+ { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
+]},
+
+{"description":"<?\\u000C",
+"input":"<?\u000C",
+"output":[["Comment", "?\u000C"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<? ",
+"input":"<? ",
+"output":[["Comment", "? "]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<? \\u0000",
+"input":"<? \u0000",
+"output":[["Comment", "? \uFFFD"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 },
+ { "code": "unexpected-null-character", "line": 1, "col": 4 }
+]},
+
+{"description":"<?!",
+"input":"<?!",
+"output":[["Comment", "?!"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?\"",
+"input":"<?\"",
+"output":[["Comment", "?\""]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?&",
+"input":"<?&",
+"output":[["Comment", "?&"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?'",
+"input":"<?'",
+"output":[["Comment", "?'"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?-",
+"input":"<?-",
+"output":[["Comment", "?-"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?/",
+"input":"<?/",
+"output":[["Comment", "?/"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?0",
+"input":"<?0",
+"output":[["Comment", "?0"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?1",
+"input":"<?1",
+"output":[["Comment", "?1"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?9",
+"input":"<?9",
+"output":[["Comment", "?9"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?<",
+"input":"<?<",
+"output":[["Comment", "?<"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?=",
+"input":"<?=",
+"output":[["Comment", "?="]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?>",
+"input":"<?>",
+"output":[["Comment", "?"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<??",
+"input":"<??",
+"output":[["Comment", "??"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?@",
+"input":"<?@",
+"output":[["Comment", "?@"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?A",
+"input":"<?A",
+"output":[["Comment", "?A"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?B",
+"input":"<?B",
+"output":[["Comment", "?B"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?Y",
+"input":"<?Y",
+"output":[["Comment", "?Y"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?Z",
+"input":"<?Z",
+"output":[["Comment", "?Z"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?`",
+"input":"<?`",
+"output":[["Comment", "?`"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?a",
+"input":"<?a",
+"output":[["Comment", "?a"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?b",
+"input":"<?b",
+"output":[["Comment", "?b"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?y",
+"input":"<?y",
+"output":[["Comment", "?y"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?z",
+"input":"<?z",
+"output":[["Comment", "?z"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?{",
+"input":"<?{",
+"output":[["Comment", "?{"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<?\\uDBC0\\uDC00",
+"input":"<?\uDBC0\uDC00",
+"output":[["Comment", "?\uDBC0\uDC00"]],
+"errors":[
+ { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<@",
+"input":"<@",
+"output":[["Character", "<@"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<A>",
+"input":"<A>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<B>",
+"input":"<B>",
+"output":[["StartTag", "b", {}]]},
+
+{"description":"<Y>",
+"input":"<Y>",
+"output":[["StartTag", "y", {}]]},
+
+{"description":"<Z>",
+"input":"<Z>",
+"output":[["StartTag", "z", {}]]},
+
+{"description":"<[",
+"input":"<[",
+"output":[["Character", "<["]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<`",
+"input":"<`",
+"output":[["Character", "<`"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<a>",
+"input":"<a>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a\\u0000>",
+"input":"<a\u0000>",
+"output":[["StartTag", "a\uFFFD", {}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 3 }
+]},
+
+{"description":"<a\\u0008>",
+"input":"<a\u0008>",
+"output":[["StartTag", "a\u0008", {}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
+]},
+
+{"description":"<a\\u0009>",
+"input":"<a\u0009>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a\\u000A>",
+"input":"<a\u000A>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a\\u000B>",
+"input":"<a\u000B>",
+"output":[["StartTag", "a\u000B", {}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
+]},
+
+{"description":"<a\\u000C>",
+"input":"<a\u000C>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a\\u000D>",
+"input":"<a\u000D>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a\\u001F>",
+"input":"<a\u001F>",
+"output":[["StartTag", "a\u001F", {}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 3 }
+]},
+
+{"description":"<a >",
+"input":"<a >",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a \\u0000>",
+"input":"<a \u0000>",
+"output":[["StartTag", "a", {"\uFFFD":""}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 4 }
+]},
+
+{"description":"<a \\u0008>",
+"input":"<a \u0008>",
+"output":[["StartTag", "a", {"\u0008":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 4 }
+]},
+
+{"description":"<a \\u0009>",
+"input":"<a \u0009>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a \\u000A>",
+"input":"<a \u000A>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a \\u000B>",
+"input":"<a \u000B>",
+"output":[["StartTag", "a", {"\u000B":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 4 }
+]},
+
+{"description":"<a \\u000C>",
+"input":"<a \u000C>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a \\u000D>",
+"input":"<a \u000D>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a \\u001F>",
+"input":"<a \u001F>",
+"output":[["StartTag", "a", {"\u001F":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 4 }
+]},
+
+{"description":"<a >",
+"input":"<a >",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a !>",
+"input":"<a !>",
+"output":[["StartTag", "a", {"!":""}]]},
+
+{"description":"<a \">",
+"input":"<a \">",
+"output":[["StartTag", "a", {"\"":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a #>",
+"input":"<a #>",
+"output":[["StartTag", "a", {"#":""}]]},
+
+{"description":"<a &>",
+"input":"<a &>",
+"output":[["StartTag", "a", {"&":""}]]},
+
+{"description":"<a '>",
+"input":"<a '>",
+"output":[["StartTag", "a", {"'":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a (>",
+"input":"<a (>",
+"output":[["StartTag", "a", {"(":""}]]},
+
+{"description":"<a ->",
+"input":"<a ->",
+"output":[["StartTag", "a", {"-":""}]]},
+
+{"description":"<a .>",
+"input":"<a .>",
+"output":[["StartTag", "a", {".":""}]]},
+
+{"description":"<a />",
+"input":"<a />",
+"output":[["StartTag", "a", {}, true]]},
+
+{"description":"<a 0>",
+"input":"<a 0>",
+"output":[["StartTag", "a", {"0":""}]]},
+
+{"description":"<a 1>",
+"input":"<a 1>",
+"output":[["StartTag", "a", {"1":""}]]},
+
+{"description":"<a 9>",
+"input":"<a 9>",
+"output":[["StartTag", "a", {"9":""}]]},
+
+{"description":"<a <>",
+"input":"<a <>",
+"output":[["StartTag", "a", {"<":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a =>",
+"input":"<a =>",
+"output":[["StartTag", "a", {"=":""}]],
+"errors":[
+ { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a >",
+"input":"<a >",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a ?>",
+"input":"<a ?>",
+"output":[["StartTag", "a", {"?":""}]]},
+
+{"description":"<a @>",
+"input":"<a @>",
+"output":[["StartTag", "a", {"@":""}]]},
+
+{"description":"<a A>",
+"input":"<a A>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a B>",
+"input":"<a B>",
+"output":[["StartTag", "a", {"b":""}]]},
+
+{"description":"<a Y>",
+"input":"<a Y>",
+"output":[["StartTag", "a", {"y":""}]]},
+
+{"description":"<a Z>",
+"input":"<a Z>",
+"output":[["StartTag", "a", {"z":""}]]},
+
+{"description":"<a [>",
+"input":"<a [>",
+"output":[["StartTag", "a", {"[":""}]]},
+
+{"description":"<a `>",
+"input":"<a `>",
+"output":[["StartTag", "a", {"`":""}]]},
+
+{"description":"<a a>",
+"input":"<a a>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a\\u0000>",
+"input":"<a a\u0000>",
+"output":[["StartTag", "a", {"a\uFFFD":""}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a\\u0008>",
+"input":"<a a\u0008>",
+"output":[["StartTag", "a", {"a\u0008":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a\\u0009>",
+"input":"<a a\u0009>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a\\u000A>",
+"input":"<a a\u000A>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a\\u000B>",
+"input":"<a a\u000B>",
+"output":[["StartTag", "a", {"a\u000B":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a\\u000C>",
+"input":"<a a\u000C>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a\\u000D>",
+"input":"<a a\u000D>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a\\u001F>",
+"input":"<a a\u001F>",
+"output":[["StartTag", "a", {"a\u001F":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a >",
+"input":"<a a >",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a \\u0000>",
+"input":"<a a \u0000>",
+"output":[["StartTag", "a", {"a":"", "\uFFFD":""}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a \\u0008>",
+"input":"<a a \u0008>",
+"output":[["StartTag", "a", {"a":"", "\u0008":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a \\u0009>",
+"input":"<a a \u0009>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a \\u000A>",
+"input":"<a a \u000A>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a \\u000B>",
+"input":"<a a \u000B>",
+"output":[["StartTag", "a", {"a":"", "\u000B":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a \\u000C>",
+"input":"<a a \u000C>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a \\u000D>",
+"input":"<a a \u000D>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a \\u001F>",
+"input":"<a a \u001F>",
+"output":[["StartTag", "a", {"a":"", "\u001F":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a >",
+"input":"<a a >",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a !>",
+"input":"<a a !>",
+"output":[["StartTag", "a", {"a":"", "!":""}]]},
+
+{"description":"<a a \">",
+"input":"<a a \">",
+"output":[["StartTag", "a", {"a":"", "\"":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a #>",
+"input":"<a a #>",
+"output":[["StartTag", "a", {"a":"", "#":""}]]},
+
+{"description":"<a a &>",
+"input":"<a a &>",
+"output":[["StartTag", "a", {"a":"", "&":""}]]},
+
+{"description":"<a a '>",
+"input":"<a a '>",
+"output":[["StartTag", "a", {"a":"", "'":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a (>",
+"input":"<a a (>",
+"output":[["StartTag", "a", {"a":"", "(":""}]]},
+
+{"description":"<a a ->",
+"input":"<a a ->",
+"output":[["StartTag", "a", {"a":"", "-":""}]]},
+
+{"description":"<a a .>",
+"input":"<a a .>",
+"output":[["StartTag", "a", {"a":"", ".":""}]]},
+
+{"description":"<a a />",
+"input":"<a a />",
+"output":[["StartTag", "a", {"a":""}, true]]},
+
+{"description":"<a a 0>",
+"input":"<a a 0>",
+"output":[["StartTag", "a", {"a":"", "0":""}]]},
+
+{"description":"<a a 1>",
+"input":"<a a 1>",
+"output":[["StartTag", "a", {"a":"", "1":""}]]},
+
+{"description":"<a a 9>",
+"input":"<a a 9>",
+"output":[["StartTag", "a", {"a":"", "9":""}]]},
+
+{"description":"<a a <>",
+"input":"<a a <>",
+"output":[["StartTag", "a", {"a":"", "<":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a =>",
+"input":"<a a =>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a >",
+"input":"<a a >",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a ?>",
+"input":"<a a ?>",
+"output":[["StartTag", "a", {"a":"", "?":""}]]},
+
+{"description":"<a a @>",
+"input":"<a a @>",
+"output":[["StartTag", "a", {"a":"", "@":""}]]},
+
+{"description":"<a a A>",
+"input":"<a a A>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "duplicate-attribute", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a B>",
+"input":"<a a B>",
+"output":[["StartTag", "a", {"a":"", "b":""}]]},
+
+{"description":"<a a Y>",
+"input":"<a a Y>",
+"output":[["StartTag", "a", {"a":"", "y":""}]]},
+
+{"description":"<a a Z>",
+"input":"<a a Z>",
+"output":[["StartTag", "a", {"a":"", "z":""}]]},
+
+{"description":"<a a [>",
+"input":"<a a [>",
+"output":[["StartTag", "a", {"a":"", "[":""}]]},
+
+{"description":"<a a `>",
+"input":"<a a `>",
+"output":[["StartTag", "a", {"a":"", "`":""}]]},
+
+{"description":"<a a a>",
+"input":"<a a a>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "duplicate-attribute", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a b>",
+"input":"<a a b>",
+"output":[["StartTag", "a", {"a":"", "b":""}]]},
+
+{"description":"<a a y>",
+"input":"<a a y>",
+"output":[["StartTag", "a", {"a":"", "y":""}]]},
+
+{"description":"<a a z>",
+"input":"<a a z>",
+"output":[["StartTag", "a", {"a":"", "z":""}]]},
+
+{"description":"<a a {>",
+"input":"<a a {>",
+"output":[["StartTag", "a", {"a":"", "{":""}]]},
+
+{"description":"<a a \\uDBC0\\uDC00>",
+"input":"<a a \uDBC0\uDC00>",
+"output":[["StartTag", "a", {"a":"", "\uDBC0\uDC00":""}]]},
+
+{"description":"<a a!>",
+"input":"<a a!>",
+"output":[["StartTag", "a", {"a!":""}]]},
+
+{"description":"<a a\">",
+"input":"<a a\">",
+"output":[["StartTag", "a", {"a\"":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a#>",
+"input":"<a a#>",
+"output":[["StartTag", "a", {"a#":""}]]},
+
+{"description":"<a a&>",
+"input":"<a a&>",
+"output":[["StartTag", "a", {"a&":""}]]},
+
+{"description":"<a a'>",
+"input":"<a a'>",
+"output":[["StartTag", "a", {"a'":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a(>",
+"input":"<a a(>",
+"output":[["StartTag", "a", {"a(":""}]]},
+
+{"description":"<a a->",
+"input":"<a a->",
+"output":[["StartTag", "a", {"a-":""}]]},
+
+{"description":"<a a.>",
+"input":"<a a.>",
+"output":[["StartTag", "a", {"a.":""}]]},
+
+{"description":"<a a/>",
+"input":"<a a/>",
+"output":[["StartTag", "a", {"a":""}, true]]},
+
+{"description":"<a a0>",
+"input":"<a a0>",
+"output":[["StartTag", "a", {"a0":""}]]},
+
+{"description":"<a a1>",
+"input":"<a a1>",
+"output":[["StartTag", "a", {"a1":""}]]},
+
+{"description":"<a a9>",
+"input":"<a a9>",
+"output":[["StartTag", "a", {"a9":""}]]},
+
+{"description":"<a a<>",
+"input":"<a a<>",
+"output":[["StartTag", "a", {"a<":""}]],
+"errors":[
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 }
+]},
+
+{"description":"<a a=>",
+"input":"<a a=>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=\\u0000>",
+"input":"<a a=\u0000>",
+"output":[["StartTag", "a", {"a":"\uFFFD"}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=\\u0008>",
+"input":"<a a=\u0008>",
+"output":[["StartTag", "a", {"a":"\u0008"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=\\u0009>",
+"input":"<a a=\u0009>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=\\u000A>",
+"input":"<a a=\u000A>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 2, "col": 1 }
+]},
+
+{"description":"<a a=\\u000B>",
+"input":"<a a=\u000B>",
+"output":[["StartTag", "a", {"a":"\u000B"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=\\u000C>",
+"input":"<a a=\u000C>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=\\u000D>",
+"input":"<a a=\u000D>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 2, "col": 1 }
+]},
+
+{"description":"<a a=\\u001F>",
+"input":"<a a=\u001F>",
+"output":[["StartTag", "a", {"a":"\u001F"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a= >",
+"input":"<a a= >",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=!>",
+"input":"<a a=!>",
+"output":[["StartTag", "a", {"a":"!"}]]},
+
+{"description":"<a a=\"\">",
+"input":"<a a=\"\">",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=\"\\u0000\">",
+"input":"<a a=\"\u0000\">",
+"output":[["StartTag", "a", {"a":"\uFFFD"}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=\"\\u0009\">",
+"input":"<a a=\"\u0009\">",
+"output":[["StartTag", "a", {"a":"\u0009"}]]},
+
+{"description":"<a a=\"\\u000A\">",
+"input":"<a a=\"\u000A\">",
+"output":[["StartTag", "a", {"a":"\u000A"}]]},
+
+{"description":"<a a=\"\\u000B\">",
+"input":"<a a=\"\u000B\">",
+"output":[["StartTag", "a", {"a":"\u000B"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=\"\\u000C\">",
+"input":"<a a=\"\u000C\">",
+"output":[["StartTag", "a", {"a":"\u000C"}]]},
+
+{"description":"<a a=\" \">",
+"input":"<a a=\" \">",
+"output":[["StartTag", "a", {"a":" "}]]},
+
+{"description":"<a a=\"!\">",
+"input":"<a a=\"!\">",
+"output":[["StartTag", "a", {"a":"!"}]]},
+
+{"description":"<a a=\"\">",
+"input":"<a a=\"\">",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=\"#\">",
+"input":"<a a=\"#\">",
+"output":[["StartTag", "a", {"a":"#"}]]},
+
+{"description":"<a a=\"%\">",
+"input":"<a a=\"%\">",
+"output":[["StartTag", "a", {"a":"%"}]]},
+
+{"description":"<a a=\"&\">",
+"input":"<a a=\"&\">",
+"output":[["StartTag", "a", {"a":"&"}]]},
+
+{"description":"<a a=\"'\">",
+"input":"<a a=\"'\">",
+"output":[["StartTag", "a", {"a":"'"}]]},
+
+{"description":"<a a=\"-\">",
+"input":"<a a=\"-\">",
+"output":[["StartTag", "a", {"a":"-"}]]},
+
+{"description":"<a a=\"/\">",
+"input":"<a a=\"/\">",
+"output":[["StartTag", "a", {"a":"/"}]]},
+
+{"description":"<a a=\"0\">",
+"input":"<a a=\"0\">",
+"output":[["StartTag", "a", {"a":"0"}]]},
+
+{"description":"<a a=\"1\">",
+"input":"<a a=\"1\">",
+"output":[["StartTag", "a", {"a":"1"}]]},
+
+{"description":"<a a=\"9\">",
+"input":"<a a=\"9\">",
+"output":[["StartTag", "a", {"a":"9"}]]},
+
+{"description":"<a a=\"<\">",
+"input":"<a a=\"<\">",
+"output":[["StartTag", "a", {"a":"<"}]]},
+
+{"description":"<a a=\"=\">",
+"input":"<a a=\"=\">",
+"output":[["StartTag", "a", {"a":"="}]]},
+
+{"description":"<a a=\">\">",
+"input":"<a a=\">\">",
+"output":[["StartTag", "a", {"a":">"}]]},
+
+{"description":"<a a=\"?\">",
+"input":"<a a=\"?\">",
+"output":[["StartTag", "a", {"a":"?"}]]},
+
+{"description":"<a a=\"@\">",
+"input":"<a a=\"@\">",
+"output":[["StartTag", "a", {"a":"@"}]]},
+
+{"description":"<a a=\"A\">",
+"input":"<a a=\"A\">",
+"output":[["StartTag", "a", {"a":"A"}]]},
+
+{"description":"<a a=\"B\">",
+"input":"<a a=\"B\">",
+"output":[["StartTag", "a", {"a":"B"}]]},
+
+{"description":"<a a=\"Y\">",
+"input":"<a a=\"Y\">",
+"output":[["StartTag", "a", {"a":"Y"}]]},
+
+{"description":"<a a=\"Z\">",
+"input":"<a a=\"Z\">",
+"output":[["StartTag", "a", {"a":"Z"}]]},
+
+{"description":"<a a=\"`\">",
+"input":"<a a=\"`\">",
+"output":[["StartTag", "a", {"a":"`"}]]},
+
+{"description":"<a a=\"a\">",
+"input":"<a a=\"a\">",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=\"b\">",
+"input":"<a a=\"b\">",
+"output":[["StartTag", "a", {"a":"b"}]]},
+
+{"description":"<a a=\"y\">",
+"input":"<a a=\"y\">",
+"output":[["StartTag", "a", {"a":"y"}]]},
+
+{"description":"<a a=\"z\">",
+"input":"<a a=\"z\">",
+"output":[["StartTag", "a", {"a":"z"}]]},
+
+{"description":"<a a=\"{\">",
+"input":"<a a=\"{\">",
+"output":[["StartTag", "a", {"a":"{"}]]},
+
+{"description":"<a a=\"\\uDBC0\\uDC00\">",
+"input":"<a a=\"\uDBC0\uDC00\">",
+"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]},
+
+{"description":"<a a=#>",
+"input":"<a a=#>",
+"output":[["StartTag", "a", {"a":"#"}]]},
+
+{"description":"<a a=%>",
+"input":"<a a=%>",
+"output":[["StartTag", "a", {"a":"%"}]]},
+
+{"description":"<a a=&>",
+"input":"<a a=&>",
+"output":[["StartTag", "a", {"a":"&"}]]},
+
+{"description":"<a a=''>",
+"input":"<a a=''>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a='\\u0000'>",
+"input":"<a a='\u0000'>",
+"output":[["StartTag", "a", {"a":"\uFFFD"}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a='\\u0009'>",
+"input":"<a a='\u0009'>",
+"output":[["StartTag", "a", {"a":"\u0009"}]]},
+
+{"description":"<a a='\\u000A'>",
+"input":"<a a='\u000A'>",
+"output":[["StartTag", "a", {"a":"\u000A"}]]},
+
+{"description":"<a a='\\u000B'>",
+"input":"<a a='\u000B'>",
+"output":[["StartTag", "a", {"a":"\u000B"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a='\\u000C'>",
+"input":"<a a='\u000C'>",
+"output":[["StartTag", "a", {"a":"\u000C"}]]},
+
+{"description":"<a a=' '>",
+"input":"<a a=' '>",
+"output":[["StartTag", "a", {"a":" "}]]},
+
+{"description":"<a a='!'>",
+"input":"<a a='!'>",
+"output":[["StartTag", "a", {"a":"!"}]]},
+
+{"description":"<a a='\"'>",
+"input":"<a a='\"'>",
+"output":[["StartTag", "a", {"a":"\""}]]},
+
+{"description":"<a a='%'>",
+"input":"<a a='%'>",
+"output":[["StartTag", "a", {"a":"%"}]]},
+
+{"description":"<a a='&'>",
+"input":"<a a='&'>",
+"output":[["StartTag", "a", {"a":"&"}]]},
+
+{"description":"<a a=''>",
+"input":"<a a=''>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''\\u0000>",
+"input":"<a a=''\u0000>",
+"output":[["StartTag", "a", {"a":"", "\uFFFD":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "unexpected-null-character", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''\\u0008>",
+"input":"<a a=''\u0008>",
+"output":[["StartTag", "a", {"a":"", "\u0008":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 8 },
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''\\u0009>",
+"input":"<a a=''\u0009>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''\\u000A>",
+"input":"<a a=''\u000A>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''\\u000B>",
+"input":"<a a=''\u000B>",
+"output":[["StartTag", "a", {"a":"", "\u000B":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 8 },
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''\\u000C>",
+"input":"<a a=''\u000C>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''\\u000D>",
+"input":"<a a=''\u000D>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''\\u001F>",
+"input":"<a a=''\u001F>",
+"output":[["StartTag", "a", {"a":"", "\u001F":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 8 },
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a='' >",
+"input":"<a a='' >",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''!>",
+"input":"<a a=''!>",
+"output":[["StartTag", "a", {"a":"", "!":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''\">",
+"input":"<a a=''\">",
+"output":[["StartTag", "a", {"a":"", "\"":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''&>",
+"input":"<a a=''&>",
+"output":[["StartTag", "a", {"a":"", "&":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a='''>",
+"input":"<a a='''>",
+"output":[["StartTag", "a", {"a":"", "'":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''->",
+"input":"<a a=''->",
+"output":[["StartTag", "a", {"a":"", "-":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''.>",
+"input":"<a a=''.>",
+"output":[["StartTag", "a", {"a":"", ".":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''/>",
+"input":"<a a=''/>",
+"output":[["StartTag", "a", {"a":""}, true]]},
+
+{"description":"<a a=''0>",
+"input":"<a a=''0>",
+"output":[["StartTag", "a", {"a":"", "0":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''1>",
+"input":"<a a=''1>",
+"output":[["StartTag", "a", {"a":"", "1":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''9>",
+"input":"<a a=''9>",
+"output":[["StartTag", "a", {"a":"", "9":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''<>",
+"input":"<a a=''<>",
+"output":[["StartTag", "a", {"a":"", "<":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''=>",
+"input":"<a a=''=>",
+"output":[["StartTag", "a", {"a":"", "=":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''>",
+"input":"<a a=''>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a=''?>",
+"input":"<a a=''?>",
+"output":[["StartTag", "a", {"a":"", "?":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''@>",
+"input":"<a a=''@>",
+"output":[["StartTag", "a", {"a":"", "@":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''A>",
+"input":"<a a=''A>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "duplicate-attribute", "line": 1, "col": 9 }
+]},
+
+{"description":"<a a=''B>",
+"input":"<a a=''B>",
+"output":[["StartTag", "a", {"a":"", "b":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''Y>",
+"input":"<a a=''Y>",
+"output":[["StartTag", "a", {"a":"", "y":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''Z>",
+"input":"<a a=''Z>",
+"output":[["StartTag", "a", {"a":"", "z":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''`>",
+"input":"<a a=''`>",
+"output":[["StartTag", "a", {"a":"", "`":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''a>",
+"input":"<a a=''a>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 },
+ { "code": "duplicate-attribute", "line": 1, "col": 9 }
+]},
+
+{"description":"<a a=''b>",
+"input":"<a a=''b>",
+"output":[["StartTag", "a", {"a":"", "b":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''y>",
+"input":"<a a=''y>",
+"output":[["StartTag", "a", {"a":"", "y":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''z>",
+"input":"<a a=''z>",
+"output":[["StartTag", "a", {"a":"", "z":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''{>",
+"input":"<a a=''{>",
+"output":[["StartTag", "a", {"a":"", "{":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a=''\\uDBC0\\uDC00>",
+"input":"<a a=''\uDBC0\uDC00>",
+"output":[["StartTag", "a", {"a":"", "\uDBC0\uDC00":""}]],
+"errors":[
+ { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }
+]},
+
+{"description":"<a a='('>",
+"input":"<a a='('>",
+"output":[["StartTag", "a", {"a":"("}]]},
+
+{"description":"<a a='-'>",
+"input":"<a a='-'>",
+"output":[["StartTag", "a", {"a":"-"}]]},
+
+{"description":"<a a='/'>",
+"input":"<a a='/'>",
+"output":[["StartTag", "a", {"a":"/"}]]},
+
+{"description":"<a a='0'>",
+"input":"<a a='0'>",
+"output":[["StartTag", "a", {"a":"0"}]]},
+
+{"description":"<a a='1'>",
+"input":"<a a='1'>",
+"output":[["StartTag", "a", {"a":"1"}]]},
+
+{"description":"<a a='9'>",
+"input":"<a a='9'>",
+"output":[["StartTag", "a", {"a":"9"}]]},
+
+{"description":"<a a='<'>",
+"input":"<a a='<'>",
+"output":[["StartTag", "a", {"a":"<"}]]},
+
+{"description":"<a a='='>",
+"input":"<a a='='>",
+"output":[["StartTag", "a", {"a":"="}]]},
+
+{"description":"<a a='>'>",
+"input":"<a a='>'>",
+"output":[["StartTag", "a", {"a":">"}]]},
+
+{"description":"<a a='?'>",
+"input":"<a a='?'>",
+"output":[["StartTag", "a", {"a":"?"}]]},
+
+{"description":"<a a='@'>",
+"input":"<a a='@'>",
+"output":[["StartTag", "a", {"a":"@"}]]},
+
+{"description":"<a a='A'>",
+"input":"<a a='A'>",
+"output":[["StartTag", "a", {"a":"A"}]]},
+
+{"description":"<a a='B'>",
+"input":"<a a='B'>",
+"output":[["StartTag", "a", {"a":"B"}]]},
+
+{"description":"<a a='Y'>",
+"input":"<a a='Y'>",
+"output":[["StartTag", "a", {"a":"Y"}]]},
+
+{"description":"<a a='Z'>",
+"input":"<a a='Z'>",
+"output":[["StartTag", "a", {"a":"Z"}]]},
+
+{"description":"<a a='`'>",
+"input":"<a a='`'>",
+"output":[["StartTag", "a", {"a":"`"}]]},
+
+{"description":"<a a='a'>",
+"input":"<a a='a'>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a='b'>",
+"input":"<a a='b'>",
+"output":[["StartTag", "a", {"a":"b"}]]},
+
+{"description":"<a a='y'>",
+"input":"<a a='y'>",
+"output":[["StartTag", "a", {"a":"y"}]]},
+
+{"description":"<a a='z'>",
+"input":"<a a='z'>",
+"output":[["StartTag", "a", {"a":"z"}]]},
+
+{"description":"<a a='{'>",
+"input":"<a a='{'>",
+"output":[["StartTag", "a", {"a":"{"}]]},
+
+{"description":"<a a='\\uDBC0\\uDC00'>",
+"input":"<a a='\uDBC0\uDC00'>",
+"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]},
+
+{"description":"<a a=(>",
+"input":"<a a=(>",
+"output":[["StartTag", "a", {"a":"("}]]},
+
+{"description":"<a a=->",
+"input":"<a a=->",
+"output":[["StartTag", "a", {"a":"-"}]]},
+
+{"description":"<a a=/>",
+"input":"<a a=/>",
+"output":[["StartTag", "a", {"a":"/"}]]},
+
+{"description":"<a a=0>",
+"input":"<a a=0>",
+"output":[["StartTag", "a", {"a":"0"}]]},
+
+{"description":"<a a=1>",
+"input":"<a a=1>",
+"output":[["StartTag", "a", {"a":"1"}]]},
+
+{"description":"<a a=9>",
+"input":"<a a=9>",
+"output":[["StartTag", "a", {"a":"9"}]]},
+
+{"description":"<a a=<>",
+"input":"<a a=<>",
+"output":[["StartTag", "a", {"a":"<"}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a==>",
+"input":"<a a==>",
+"output":[["StartTag", "a", {"a":"="}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=>",
+"input":"<a a=>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "missing-attribute-value", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=?>",
+"input":"<a a=?>",
+"output":[["StartTag", "a", {"a":"?"}]]},
+
+{"description":"<a a=@>",
+"input":"<a a=@>",
+"output":[["StartTag", "a", {"a":"@"}]]},
+
+{"description":"<a a=A>",
+"input":"<a a=A>",
+"output":[["StartTag", "a", {"a":"A"}]]},
+
+{"description":"<a a=B>",
+"input":"<a a=B>",
+"output":[["StartTag", "a", {"a":"B"}]]},
+
+{"description":"<a a=Y>",
+"input":"<a a=Y>",
+"output":[["StartTag", "a", {"a":"Y"}]]},
+
+{"description":"<a a=Z>",
+"input":"<a a=Z>",
+"output":[["StartTag", "a", {"a":"Z"}]]},
+
+{"description":"<a a=`>",
+"input":"<a a=`>",
+"output":[["StartTag", "a", {"a":"`"}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }
+]},
+
+{"description":"<a a=a>",
+"input":"<a a=a>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a\\u0000>",
+"input":"<a a=a\u0000>",
+"output":[["StartTag", "a", {"a":"a\uFFFD"}]],
+"errors":[
+ { "code": "unexpected-null-character", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a\\u0008>",
+"input":"<a a=a\u0008>",
+"output":[["StartTag", "a", {"a":"a\u0008"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a\\u0009>",
+"input":"<a a=a\u0009>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a\\u000A>",
+"input":"<a a=a\u000A>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a\\u000B>",
+"input":"<a a=a\u000B>",
+"output":[["StartTag", "a", {"a":"a\u000B"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a\\u000C>",
+"input":"<a a=a\u000C>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a\\u000D>",
+"input":"<a a=a\u000D>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a\\u001F>",
+"input":"<a a=a\u001F>",
+"output":[["StartTag", "a", {"a":"a\u001F"}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a >",
+"input":"<a a=a >",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a!>",
+"input":"<a a=a!>",
+"output":[["StartTag", "a", {"a":"a!"}]]},
+
+{"description":"<a a=a\">",
+"input":"<a a=a\">",
+"output":[["StartTag", "a", {"a":"a\""}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a#>",
+"input":"<a a=a#>",
+"output":[["StartTag", "a", {"a":"a#"}]]},
+
+{"description":"<a a=a%>",
+"input":"<a a=a%>",
+"output":[["StartTag", "a", {"a":"a%"}]]},
+
+{"description":"<a a=a&>",
+"input":"<a a=a&>",
+"output":[["StartTag", "a", {"a":"a&"}]]},
+
+{"description":"<a a=a'>",
+"input":"<a a=a'>",
+"output":[["StartTag", "a", {"a":"a'"}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a(>",
+"input":"<a a=a(>",
+"output":[["StartTag", "a", {"a":"a("}]]},
+
+{"description":"<a a=a->",
+"input":"<a a=a->",
+"output":[["StartTag", "a", {"a":"a-"}]]},
+
+{"description":"<a a=a/>",
+"input":"<a a=a/>",
+"output":[["StartTag", "a", {"a":"a/"}]]},
+
+{"description":"<a a=a0>",
+"input":"<a a=a0>",
+"output":[["StartTag", "a", {"a":"a0"}]]},
+
+{"description":"<a a=a1>",
+"input":"<a a=a1>",
+"output":[["StartTag", "a", {"a":"a1"}]]},
+
+{"description":"<a a=a9>",
+"input":"<a a=a9>",
+"output":[["StartTag", "a", {"a":"a9"}]]},
+
+{"description":"<a a=a<>",
+"input":"<a a=a<>",
+"output":[["StartTag", "a", {"a":"a<"}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a=>",
+"input":"<a a=a=>",
+"output":[["StartTag", "a", {"a":"a="}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=a>",
+"input":"<a a=a>",
+"output":[["StartTag", "a", {"a":"a"}]]},
+
+{"description":"<a a=a?>",
+"input":"<a a=a?>",
+"output":[["StartTag", "a", {"a":"a?"}]]},
+
+{"description":"<a a=a@>",
+"input":"<a a=a@>",
+"output":[["StartTag", "a", {"a":"a@"}]]},
+
+{"description":"<a a=aA>",
+"input":"<a a=aA>",
+"output":[["StartTag", "a", {"a":"aA"}]]},
+
+{"description":"<a a=aB>",
+"input":"<a a=aB>",
+"output":[["StartTag", "a", {"a":"aB"}]]},
+
+{"description":"<a a=aY>",
+"input":"<a a=aY>",
+"output":[["StartTag", "a", {"a":"aY"}]]},
+
+{"description":"<a a=aZ>",
+"input":"<a a=aZ>",
+"output":[["StartTag", "a", {"a":"aZ"}]]},
+
+{"description":"<a a=a`>",
+"input":"<a a=a`>",
+"output":[["StartTag", "a", {"a":"a`"}]],
+"errors":[
+ { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 }
+]},
+
+{"description":"<a a=aa>",
+"input":"<a a=aa>",
+"output":[["StartTag", "a", {"a":"aa"}]]},
+
+{"description":"<a a=ab>",
+"input":"<a a=ab>",
+"output":[["StartTag", "a", {"a":"ab"}]]},
+
+{"description":"<a a=ay>",
+"input":"<a a=ay>",
+"output":[["StartTag", "a", {"a":"ay"}]]},
+
+{"description":"<a a=az>",
+"input":"<a a=az>",
+"output":[["StartTag", "a", {"a":"az"}]]},
+
+{"description":"<a a=a{>",
+"input":"<a a=a{>",
+"output":[["StartTag", "a", {"a":"a{"}]]},
+
+{"description":"<a a=a\\uDBC0\\uDC00>",
+"input":"<a a=a\uDBC0\uDC00>",
+"output":[["StartTag", "a", {"a":"a\uDBC0\uDC00"}]]},
+
+{"description":"<a a=b>",
+"input":"<a a=b>",
+"output":[["StartTag", "a", {"a":"b"}]]},
+
+{"description":"<a a=y>",
+"input":"<a a=y>",
+"output":[["StartTag", "a", {"a":"y"}]]},
+
+{"description":"<a a=z>",
+"input":"<a a=z>",
+"output":[["StartTag", "a", {"a":"z"}]]},
+
+{"description":"<a a={>",
+"input":"<a a={>",
+"output":[["StartTag", "a", {"a":"{"}]]},
+
+{"description":"<a a=\\uDBC0\\uDC00>",
+"input":"<a a=\uDBC0\uDC00>",
+"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]},
+
+{"description":"<a a>",
+"input":"<a a>",
+"output":[["StartTag", "a", {"a":""}]]},
+
+{"description":"<a a?>",
+"input":"<a a?>",
+"output":[["StartTag", "a", {"a?":""}]]},
+
+{"description":"<a a@>",
+"input":"<a a@>",
+"output":[["StartTag", "a", {"a@":""}]]},
+
+{"description":"<a aA>",
+"input":"<a aA>",
+"output":[["StartTag", "a", {"aa":""}]]},
+
+{"description":"<a aB>",
+"input":"<a aB>",
+"output":[["StartTag", "a", {"ab":""}]]},
+
+{"description":"<a aY>",
+"input":"<a aY>",
+"output":[["StartTag", "a", {"ay":""}]]},
+
+{"description":"<a aZ>",
+"input":"<a aZ>",
+"output":[["StartTag", "a", {"az":""}]]},
+
+{"description":"<a a[>",
+"input":"<a a[>",
+"output":[["StartTag", "a", {"a[":""}]]},
+
+{"description":"<a a`>",
+"input":"<a a`>",
+"output":[["StartTag", "a", {"a`":""}]]},
+
+{"description":"<a aa>",
+"input":"<a aa>",
+"output":[["StartTag", "a", {"aa":""}]]},
+
+{"description":"<a ab>",
+"input":"<a ab>",
+"output":[["StartTag", "a", {"ab":""}]]},
+
+{"description":"<a ay>",
+"input":"<a ay>",
+"output":[["StartTag", "a", {"ay":""}]]},
+
+{"description":"<a az>",
+"input":"<a az>",
+"output":[["StartTag", "a", {"az":""}]]},
+
+{"description":"<a a{>",
+"input":"<a a{>",
+"output":[["StartTag", "a", {"a{":""}]]},
+
+{"description":"<a a\\uDBC0\\uDC00>",
+"input":"<a a\uDBC0\uDC00>",
+"output":[["StartTag", "a", {"a\uDBC0\uDC00":""}]]},
+
+{"description":"<a b>",
+"input":"<a b>",
+"output":[["StartTag", "a", {"b":""}]]},
+
+{"description":"<a y>",
+"input":"<a y>",
+"output":[["StartTag", "a", {"y":""}]]},
+
+{"description":"<a z>",
+"input":"<a z>",
+"output":[["StartTag", "a", {"z":""}]]},
+
+{"description":"<a {>",
+"input":"<a {>",
+"output":[["StartTag", "a", {"{":""}]]},
+
+{"description":"<a \\uDBC0\\uDC00>",
+"input":"<a \uDBC0\uDC00>",
+"output":[["StartTag", "a", {"\uDBC0\uDC00":""}]]},
+
+{"description":"<a!>",
+"input":"<a!>",
+"output":[["StartTag", "a!", {}]]},
+
+{"description":"<a\">",
+"input":"<a\">",
+"output":[["StartTag", "a\"", {}]]},
+
+{"description":"<a&>",
+"input":"<a&>",
+"output":[["StartTag", "a&", {}]]},
+
+{"description":"<a'>",
+"input":"<a'>",
+"output":[["StartTag", "a'", {}]]},
+
+{"description":"<a->",
+"input":"<a->",
+"output":[["StartTag", "a-", {}]]},
+
+{"description":"<a.>",
+"input":"<a.>",
+"output":[["StartTag", "a.", {}]]},
+
+{"description":"<a/>",
+"input":"<a/>",
+"output":[["StartTag", "a", {}, true]]},
+
+{"description":"<a/\\u0000>",
+"input":"<a/\u0000>",
+"output":[["StartTag", "a", {"\uFFFD":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
+ { "code": "unexpected-null-character", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/\\u0009>",
+"input":"<a/\u0009>",
+"output":[["StartTag", "a", {}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/\\u000A>",
+"input":"<a/\u000A>",
+"output":[["StartTag", "a", {}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/\\u000B>",
+"input":"<a/\u000B>",
+"output":[["StartTag", "a", {"\u000B":""}]],
+"errors":[
+ { "code": "control-character-in-input-stream", "line": 1, "col": 4 },
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/\\u000C>",
+"input":"<a/\u000C>",
+"output":[["StartTag", "a", {}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/ >",
+"input":"<a/ >",
+"output":[["StartTag", "a", {}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/!>",
+"input":"<a/!>",
+"output":[["StartTag", "a", {"!":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/\">",
+"input":"<a/\">",
+"output":[["StartTag", "a", {"\"":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/&>",
+"input":"<a/&>",
+"output":[["StartTag", "a", {"&":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/'>",
+"input":"<a/'>",
+"output":[["StartTag", "a", {"'":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/->",
+"input":"<a/->",
+"output":[["StartTag", "a", {"-":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a//>",
+"input":"<a//>",
+"output":[["StartTag", "a", {}, true]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/0>",
+"input":"<a/0>",
+"output":[["StartTag", "a", {"0":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/1>",
+"input":"<a/1>",
+"output":[["StartTag", "a", {"1":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/9>",
+"input":"<a/9>",
+"output":[["StartTag", "a", {"9":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/<>",
+"input":"<a/<>",
+"output":[["StartTag", "a", {"<":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
+ { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/=>",
+"input":"<a/=>",
+"output":[["StartTag", "a", {"=":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 },
+ { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/>",
+"input":"<a/>",
+"output":[["StartTag", "a", {}, true]]},
+
+{"description":"<a/?>",
+"input":"<a/?>",
+"output":[["StartTag", "a", {"?":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/@>",
+"input":"<a/@>",
+"output":[["StartTag", "a", {"@":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/A>",
+"input":"<a/A>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/B>",
+"input":"<a/B>",
+"output":[["StartTag", "a", {"b":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/Y>",
+"input":"<a/Y>",
+"output":[["StartTag", "a", {"y":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/Z>",
+"input":"<a/Z>",
+"output":[["StartTag", "a", {"z":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/`>",
+"input":"<a/`>",
+"output":[["StartTag", "a", {"`":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/a>",
+"input":"<a/a>",
+"output":[["StartTag", "a", {"a":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/b>",
+"input":"<a/b>",
+"output":[["StartTag", "a", {"b":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/y>",
+"input":"<a/y>",
+"output":[["StartTag", "a", {"y":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/z>",
+"input":"<a/z>",
+"output":[["StartTag", "a", {"z":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/{>",
+"input":"<a/{>",
+"output":[["StartTag", "a", {"{":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a/\\uDBC0\\uDC00>",
+"input":"<a/\uDBC0\uDC00>",
+"output":[["StartTag", "a", {"\uDBC0\uDC00":""}]],
+"errors":[
+ { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }
+]},
+
+{"description":"<a0>",
+"input":"<a0>",
+"output":[["StartTag", "a0", {}]]},
+
+{"description":"<a1>",
+"input":"<a1>",
+"output":[["StartTag", "a1", {}]]},
+
+{"description":"<a9>",
+"input":"<a9>",
+"output":[["StartTag", "a9", {}]]},
+
+{"description":"<a<>",
+"input":"<a<>",
+"output":[["StartTag", "a<", {}]]},
+
+{"description":"<a=>",
+"input":"<a=>",
+"output":[["StartTag", "a=", {}]]},
+
+{"description":"<a>",
+"input":"<a>",
+"output":[["StartTag", "a", {}]]},
+
+{"description":"<a?>",
+"input":"<a?>",
+"output":[["StartTag", "a?", {}]]},
+
+{"description":"<a@>",
+"input":"<a@>",
+"output":[["StartTag", "a@", {}]]},
+
+{"description":"<aA>",
+"input":"<aA>",
+"output":[["StartTag", "aa", {}]]},
+
+{"description":"<aB>",
+"input":"<aB>",
+"output":[["StartTag", "ab", {}]]},
+
+{"description":"<aY>",
+"input":"<aY>",
+"output":[["StartTag", "ay", {}]]},
+
+{"description":"<aZ>",
+"input":"<aZ>",
+"output":[["StartTag", "az", {}]]},
+
+{"description":"<a[>",
+"input":"<a[>",
+"output":[["StartTag", "a[", {}]]},
+
+{"description":"<a`>",
+"input":"<a`>",
+"output":[["StartTag", "a`", {}]]},
+
+{"description":"<aa>",
+"input":"<aa>",
+"output":[["StartTag", "aa", {}]]},
+
+{"description":"<ab>",
+"input":"<ab>",
+"output":[["StartTag", "ab", {}]]},
+
+{"description":"<ay>",
+"input":"<ay>",
+"output":[["StartTag", "ay", {}]]},
+
+{"description":"<az>",
+"input":"<az>",
+"output":[["StartTag", "az", {}]]},
+
+{"description":"<a{>",
+"input":"<a{>",
+"output":[["StartTag", "a{", {}]]},
+
+{"description":"<a\\uDBC0\\uDC00>",
+"input":"<a\uDBC0\uDC00>",
+"output":[["StartTag", "a\uDBC0\uDC00", {}]]},
+
+{"description":"<b>",
+"input":"<b>",
+"output":[["StartTag", "b", {}]]},
+
+{"description":"<y>",
+"input":"<y>",
+"output":[["StartTag", "y", {}]]},
+
+{"description":"<z>",
+"input":"<z>",
+"output":[["StartTag", "z", {}]]},
+
+{"description":"<{",
+"input":"<{",
+"output":[["Character", "<{"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"<\\uDBC0\\uDC00",
+"input":"<\uDBC0\uDC00",
+"output":[["Character", "<\uDBC0\uDC00"]],
+"errors":[
+ { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }
+]},
+
+{"description":"=",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"=",
+"output":[["Character", "="]]},
+
+{"description":"=",
+"initialStates":["CDATA section state"],
+"input":"=",
+"output":[["Character", "="]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":">",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":">",
+"output":[["Character", ">"]]},
+
+{"description":">",
+"initialStates":["CDATA section state"],
+"input":">",
+"output":[["Character", ">"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"?",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"?",
+"output":[["Character", "?"]]},
+
+{"description":"?",
+"initialStates":["CDATA section state"],
+"input":"?",
+"output":[["Character", "?"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"@",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"@",
+"output":[["Character", "@"]]},
+
+{"description":"@",
+"initialStates":["CDATA section state"],
+"input":"@",
+"output":[["Character", "@"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"A",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"A",
+"output":[["Character", "A"]]},
+
+{"description":"A",
+"initialStates":["CDATA section state"],
+"input":"A",
+"output":[["Character", "A"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"B",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"B",
+"output":[["Character", "B"]]},
+
+{"description":"B",
+"initialStates":["CDATA section state"],
+"input":"B",
+"output":[["Character", "B"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"Y",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"Y",
+"output":[["Character", "Y"]]},
+
+{"description":"Y",
+"initialStates":["CDATA section state"],
+"input":"Y",
+"output":[["Character", "Y"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"Z",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"Z",
+"output":[["Character", "Z"]]},
+
+{"description":"Z",
+"initialStates":["CDATA section state"],
+"input":"Z",
+"output":[["Character", "Z"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"`",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"`",
+"output":[["Character", "`"]]},
+
+{"description":"`",
+"initialStates":["CDATA section state"],
+"input":"`",
+"output":[["Character", "`"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"a",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"a",
+"output":[["Character", "a"]]},
+
+{"description":"a",
+"initialStates":["CDATA section state"],
+"input":"a",
+"output":[["Character", "a"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"b",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"b",
+"output":[["Character", "b"]]},
+
+{"description":"b",
+"initialStates":["CDATA section state"],
+"input":"b",
+"output":[["Character", "b"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"y",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"y",
+"output":[["Character", "y"]]},
+
+{"description":"y",
+"initialStates":["CDATA section state"],
+"input":"y",
+"output":[["Character", "y"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"z",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"z",
+"output":[["Character", "z"]]},
+
+{"description":"z",
+"initialStates":["CDATA section state"],
+"input":"z",
+"output":[["Character", "z"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"{",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"{",
+"output":[["Character", "{"]]},
+
+{"description":"{",
+"initialStates":["CDATA section state"],
+"input":"{",
+"output":[["Character", "{"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]},
+
+{"description":"\\uDBC0\\uDC00",
+"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"],
+"input":"\uDBC0\uDC00",
+"output":[["Character", "\uDBC0\uDC00"]]},
+
+{"description":"\\uDBC0\\uDC00",
+"initialStates":["CDATA section state"],
+"input":"\uDBC0\uDC00",
+"output":[["Character", "\uDBC0\uDC00"]],
+"errors":[
+ { "code": "eof-in-cdata", "line": 1, "col": 2 }
+]}
+
+]}