1 QMARKMETA [<?xml version="not-even-close"?>] : 0-32 2 TEXT [\n\n] : 32-34 3 DIRECTIVE [<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">] : 34-97 4 TEXT [\n\n] : 97-99 5 COMMENT [<!-- a test input for HtmlLexer -->] : 99-134 6 TEXT [\n\n] : 134-136 7 TAGBEGIN [<html] : 136-141 8 TAGEND [>] : 141-142 9 TEXT [\n] : 142-143 10 TAGBEGIN [<head] : 143-148 11 TAGEND [>] : 148-149 12 TEXT [\n] : 149-150 13 TAGBEGIN [<title] : 150-156 14 TAGEND [>] : 156-157 15 TEXT [Test File For HtmlLexer & HtmlParser] : 157-197 16 TAGBEGIN [</title] : 197-204 17 TAGEND [>] : 204-205 18 TEXT [\n] : 205-206 19 TAGBEGIN [<link] : 206-211 20 ATTRNAME [rel] : 212-215 21 ATTRVALUE [stylesheet] : 216-226 22 ATTRNAME [type] : 227-231 23 ATTRVALUE ["text/css"] : 232-242 24 ATTRNAME [src] : 243-246 25 ATTRVALUE [foo/bar.css] : 247-258 26 TAGEND [/>] : 259-261 27 TEXT [\n] : 261-262 28 TAGBEGIN [<body] : 262-267 29 ATTRNAME [bgcolor] : 269-276 30 ATTRVALUE [white] : 277-282 31 ATTRNAME [linkcolor] : 284-293 32 ATTRVALUE ["blue"] : 296-302 33 ATTRNAME [onload] : 304-310 34 ATTRVALUE ["document.writeln(\n "<p>properly escaped code in a handler</p>");"] : 311-400 35 TAGEND [>] : 401-402 36 TEXT [\n\n] : 402-404 37 TAGBEGIN [<script] : 404-411 38 ATTRNAME [type] : 412-416 39 ATTRVALUE ["text/javascript"] : 417-434 40 TAGEND [>] : 434-435 41 UNESCAPED [<!--\n\ndocument.writeln("<p>Some initialization code in global context</p>");\n\n-->] : 435-516 42 TAGBEGIN [</script] : 516-524 43 TAGEND [>] : 524-525 44 TEXT [\n\n] : 525-527 45 TAGBEGIN [<script] : 527-534 46 ATTRNAME [type] : 535-539 47 ATTRVALUE ["text/javascript"] : 540-557 48 TAGEND [>] : 557-558 49 UNESCAPED [\n// hi there\ndocument.writeln("<p>More initialization</p>");\n] : 558-619 50 TAGBEGIN [</script] : 619-627 51 TAGEND [>] : 627-628 52 TEXT [\n\n] : 628-630 53 TAGBEGIN [<div] : 630-634 54 ATTRNAME [id] : 635-637 55 ATTRVALUE [clickydiv] : 638-647 56 ATTRNAME [onclick] : 648-655 57 ATTRVALUE ["handleClicky(event)"] : 656-677 58 ATTRNAME [ondblclick] : 679-689 59 ATTRVALUE [this.onclick(event);return(false)] : 690-723 60 TAGEND [>] : 723-724 61 TEXT [\nClicky\n] : 724-732 62 TAGBEGIN [</div] : 732-737 63 TAGEND [>] : 737-738 64 TEXT [\n\n] : 738-740 65 TAGBEGIN [<input] : 740-746 66 ATTRNAME [id] : 747-749 67 ATTRVALUE [foo] : 750-753 68 TAGEND [>] : 753-754 69 TEXT [\n] : 754-755 70 TAGBEGIN [<gxp:attr] : 755-764 71 ATTRNAME [name] : 765-769 72 ATTRVALUE ["onchange"] : 770-780 73 TAGEND [>] : 780-781 74 TEXT [alert("<b>hi</b>");] : 781-812 75 TAGBEGIN [</gxp:attr] : 812-822 76 TAGEND [>] : 822-823 77 TEXT [\n] : 823-824 78 TAGBEGIN [</input] : 824-831 79 TAGEND [>] : 831-832 80 TEXT [\n\n] : 832-834 81 TAGBEGIN [<pre] : 834-838 82 TAGEND [>] : 838-839 83 TEXT [<div id=notarealtag onclick=notcode()>] : 839-883 84 TAGBEGIN [</pre] : 883-888 85 TAGEND [>] : 888-889 86 TEXT [\n\n] : 889-891 87 COMMENT [<!-- some tokenization corner cases -->] : 891-930 88 TEXT [\n\n< notatag ] : 930-942 89 TAGBEGIN [<atag] : 942-947 90 TAGEND [/>] : 947-949 91 TEXT [\n\n</ notatag> ] : 949-963 92 TAGBEGIN [</redundantlyclosed] : 963-982 93 TAGEND [/>] : 982-984 94 TEXT [\n\n] : 984-986 95 TAGBEGIN [<messyattributes] : 986-1002 96 ATTRNAME [a] : 1003-1004 97 ATTRVALUE [b=c] : 1005-1008 98 ATTRNAME [d] : 1009-1010 99 ATTRVALUE ["e"] : 1011-1014 100 ATTRNAME [f] : 1014-1015 101 ATTRVALUE [g] : 1016-1017 102 ATTRNAME [h] : 1018-1019 103 ATTRVALUE [i] : 1021-1022 104 ATTRNAME [j] : 1023-1024 105 ATTRVALUE [k] : 1026-1027 106 ATTRNAME [l] : 1028-1029 107 ATTRVALUE [m] : 1032-1033 108 ATTRNAME [checked] : 1034-1041 109 ATTRNAME [n] : 1042-1043 110 ATTRVALUE ["o"] : 1044-1047 111 TAGEND [/>] : 1047-1049 112 TEXT [\n\n< < < all in one text block > > >\n\n] : 1049-1086 113 TAGBEGIN [<xmp] : 1086-1090 114 TAGEND [>] : 1090-1091 115 UNESCAPED [Make sure that <!-- comments don't obscure the xmp close] : 1091-1147 116 TAGBEGIN [</xmp] : 1147-1152 117 TAGEND [>] : 1152-1153 118 TEXT [\n\n] : 1153-1155 119 SERVERCODE [<% # some php code here\nwrite("<pre>$horriblySyntacticConstruct1</pre>\\n\\n");\n%>] : 1155-1235 120 TEXT [\n\n] : 1235-1237 121 TAGBEGIN [<script] : 1237-1244 122 ATTRNAME [type] : 1245-1249 123 ATTRVALUE ["text/javascript"] : 1250-1267 124 TAGEND [>] : 1267-1268 125 UNESCAPED [<!--\nalert("hello world");\n// -->] : 1268-1301 126 TAGBEGIN [</script] : 1301-1309 127 TAGEND [>] : 1309-1310 128 TEXT [\n\n] : 1310-1312 129 TAGBEGIN [<script] : 1312-1319 130 TAGEND [>] : 1319-1320 131 UNESCAPED [/* ] : 1320-1323 132 TAGBEGIN [</script] : 1323-1331 133 TAGEND [>] : 1331-1332 134 TEXT [ */alert('hi');] : 1332-1347 135 TAGBEGIN [</script] : 1347-1355 136 TAGEND [>] : 1355-1356 137 TEXT [\n] : 1356-1357 138 TAGBEGIN [<script] : 1357-1364 139 TAGEND [>] : 1364-1365 140 UNESCAPED [<!--/* </script> */alert('hi');-->] : 1365-1399 141 TAGBEGIN [</script] : 1399-1407 142 TAGEND [>] : 1407-1408 143 TEXT [\n\n] : 1408-1410 144 TAGBEGIN [<xmp] : 1410-1414 145 ATTRNAME [style] : 1415-1420 146 ATTRVALUE [color:blue] : 1421-1431 147 TAGEND [>] : 1431-1432 148 UNESCAPED [<!--/* ] : 1432-1439 149 TAGBEGIN [</xmp] : 1439-1444 150 TAGEND [>] : 1444-1445 151 TEXT [ */alert('hi');-->] : 1445-1463 152 TAGBEGIN [</xmp] : 1463-1468 153 TAGEND [>] : 1468-1469 154 TEXT [\n\n] : 1469-1471 155 TAGBEGIN [<style] : 1471-1477 156 TAGEND [>] : 1477-1478 157 UNESCAPED [<!-- p { contentf: '</style>' } -->] : 1478-1513 158 TAGBEGIN [</style] : 1513-1520 159 TAGEND [>] : 1520-1521 160 TEXT [\n\n] : 1521-1523 161 TAGBEGIN [<style] : 1523-1529 162 TAGEND [>] : 1529-1530 163 UNESCAPED [Foo<!-- > </style> -->] : 1530-1552 164 TAGBEGIN [</style] : 1552-1559 165 TAGEND [>] : 1559-1560 166 TEXT [\n\n] : 1560-1562 167 TAGBEGIN [<textarea] : 1562-1571 168 TAGEND [>] : 1571-1572 169 TEXT [<!-- Zoicks ] : 1572-1584 170 TAGBEGIN [</textarea] : 1584-1594 171 TAGEND [>] : 1594-1595 172 TEXT [-->] : 1595-1598 173 TAGBEGIN [</textarea] : 1598-1608 174 TAGEND [>] : 1608-1609 175 TEXT [\n\n] : 1609-1611 176 COMMENT [<!-- An escaping text span start may share its U+002D HYPHEN-MINUS characters\n - with its corresponding escaping text span end. -->] : 1611-1744 177 TEXT [\n] : 1744-1745 178 TAGBEGIN [<script] : 1745-1752 179 TAGEND [>] : 1752-1753 180 UNESCAPED [<!-->] : 1753-1758 181 TAGBEGIN [</script] : 1758-1766 182 TAGEND [>] : 1766-1767 183 TEXT [\n] : 1767-1768 184 TAGBEGIN [<script] : 1768-1775 185 TAGEND [>] : 1775-1776 186 UNESCAPED [<!--->] : 1776-1782 187 TAGBEGIN [</script] : 1782-1790 188 TAGEND [>] : 1790-1791 189 TEXT [\n] : 1791-1792 190 TAGBEGIN [<script] : 1792-1799 191 TAGEND [>] : 1799-1800 192 UNESCAPED [<!---->] : 1800-1807 193 TAGBEGIN [</script] : 1807-1815 194 TAGEND [>] : 1815-1816 195 TEXT [\n\n] : 1816-1818 196 TAGBEGIN [</body] : 1818-1824 197 TAGEND [>] : 1824-1825 198 TEXT [\n] : 1825-1826 199 TAGBEGIN [</html] : 1826-1832 200 TAGEND [>] : 1832-1833 201 TEXT [\n\n] : 1833-1835 202 DIRECTIVE [<![CDATA[ No such thing as a CDATA>] : 1835-1870 203 TEXT [ section in HTML ]]>\n] : 1870-1891 204 TAGBEGIN [<script] : 1891-1898 205 TAGEND [>] : 1898-1899 206 UNESCAPED [a<b] : 1899-1902 207 TAGBEGIN [</script] : 1902-1910 208 TAGEND [>] : 1910-1911 209 TEXT [\n\n] : 1911-1913 210 TAGBEGIN [<img] : 1913-1917 211 ATTRNAME [src] : 1918-1921 212 ATTRVALUE [foo.gif] : 1922-1929 213 TAGEND [/>] : 1930-1932 214 TAGBEGIN [<a] : 1932-1934 215 ATTRNAME [href] : 1935-1939 216 ATTRVALUE [] : 1940-1940 217 TAGEND [>] : 1940-1941 218 TAGBEGIN [<a] : 1941-1943 219 ATTRNAME [href] : 1944-1948 220 ATTRVALUE [] : 1949-1949 221 TAGEND [/>] : 1949-1951 222 TEXT [\n\n] : 1951-1953 223 TAGBEGIN [<span] : 1953-1958 224 ATTRNAME [title] : 1959-1964 225 ATTRVALUE [malformed attribs'] : 1965-1983 226 ATTRNAME [do] : 1984-1986 227 ATTRVALUE [don't] : 1987-1992 228 ATTRNAME [id] : 1993-1995 229 ATTRVALUE [foo] : 1996-1999 230 ATTRNAME [checked] : 2000-2007 231 ATTRNAME [onclick] : 2008-2015 232 ATTRVALUE ["a<b"] : 2016-2021 233 TAGEND [>] : 2021-2022 234 TEXT [Bar] : 2022-2025 235 TAGBEGIN [</span] : 2025-2031 236 TAGEND [>] : 2031-2032 237 TEXT [\n] : 2032-2033 238