html5ever 0.12.0

High-performance browser-grade HTML5 parser
Documentation
#data
<!DOCTYPE html><p><b><i><u></p> <p>X
#errors
(1,31): unexpected-end-tag
(1,36): expected-closing-tag-but-got-eof
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <p>
|       <b>
|         <i>
|           <u>
|     <b>
|       <i>
|         <u>
|           " "
|           <p>
|             "X"

#data
<p><b><i><u></p>
<p>X
#errors
(1,3): expected-doctype-but-got-start-tag
(1,16): unexpected-end-tag
(2,4): expected-closing-tag-but-got-eof
#document
| <html>
|   <head>
|   <body>
|     <p>
|       <b>
|         <i>
|           <u>
|     <b>
|       <i>
|         <u>
|           "
"
|           <p>
|             "X"

#data
<!doctype html></html> <head>
#errors
(1,29): expected-eof-but-got-start-tag
(1,29): unexpected-start-tag-ignored
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     " "

#data
<!doctype html></body><meta>
#errors
(1,28): unexpected-start-tag-after-body
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <meta>

#data
<html></html><!-- foo -->
#errors
(1,6): expected-doctype-but-got-start-tag
#document
| <html>
|   <head>
|   <body>
| <!--  foo  -->

#data
<!doctype html></body><title>X</title>
#errors
(1,29): unexpected-start-tag-after-body
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <title>
|       "X"

#data
<!doctype html><table> X<meta></table>
#errors
(1,23): foster-parenting-character
(1,24): foster-parenting-character
(1,30): foster-parenting-start-character
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     " X"
|     <meta>
|     <table>

#data
<!doctype html><table> x</table>
#errors
(1,23): foster-parenting-character
(1,24): foster-parenting-character
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     " x"
|     <table>

#data
<!doctype html><table> x </table>
#errors
(1,23): foster-parenting-character
(1,24): foster-parenting-character
(1,25): foster-parenting-character
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     " x "
|     <table>

#data
<!doctype html><table><tr> x</table>
#errors
(1,27): foster-parenting-character
(1,28): foster-parenting-character
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     " x"
|     <table>
|       <tbody>
|         <tr>

#data
<!doctype html><table>X<style> <tr>x </style> </table>
#errors
(1,23): foster-parenting-character
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     "X"
|     <table>
|       <style>
|         " <tr>x "
|       " "

#data
<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div>
#errors
(1,30): foster-parenting-start-tag
(1,31): foster-parenting-character
(1,32): foster-parenting-character
(1,33): foster-parenting-character
(1,37): foster-parenting-end-tag
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <div>
|       <a>
|         "foo"
|       <table>
|         " "
|         <tbody>
|           <tr>
|             <td>
|               "bar"
|             " "

#data
<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes>
#errors
(1,7): expected-doctype-but-got-start-tag
(1,7): unexpected-start-tag-ignored
(1,15): unexpected-end-tag
(1,23): unexpected-end-tag
(1,33): unexpected-start-tag
(1,99): expected-named-closing-tag-but-got-eof
(1,99): eof-in-frameset
#document
| <html>
|   <head>
|   <frameset>
|     <frame>
|     <frameset>
|       <frame>
|     <noframes>
|       "</frameset><noframes>"

#data
<!DOCTYPE html><object></html>
#errors
(1,30): expected-body-in-scope
(1,30): expected-closing-tag-but-got-eof
#document
| <!DOCTYPE html>
| <html>
|   <head>
|   <body>
|     <object>