| 1 |
wakaba |
1.1 |
<!DOCTYPE html> |
| 2 |
|
|
<html lang="en"> |
| 3 |
|
|
<head> |
| 4 |
|
|
<title>HTML5 Parser Web Interface</title> |
| 5 |
|
|
<style type="text/css"> |
| 6 |
|
|
form { |
| 7 |
|
|
display: block; |
| 8 |
|
|
position: relative; |
| 9 |
wakaba |
1.5 |
height: 30em; |
| 10 |
wakaba |
1.1 |
margin-left: 1em; |
| 11 |
|
|
margin-right: 1em; |
| 12 |
|
|
} |
| 13 |
|
|
form > fieldset { |
| 14 |
|
|
display: block; |
| 15 |
|
|
position: absolute; |
| 16 |
|
|
top: 0; left: 0; |
| 17 |
|
|
width: 40%; bottom: 0; |
| 18 |
|
|
margin: 0; |
| 19 |
|
|
border-style: none; |
| 20 |
|
|
padding: 0; |
| 21 |
|
|
} |
| 22 |
wakaba |
1.5 |
#result-para { |
| 23 |
wakaba |
1.1 |
display: block; |
| 24 |
|
|
position: absolute; |
| 25 |
|
|
top: 0; right: 0; |
| 26 |
|
|
width: 40%; bottom: 0; |
| 27 |
|
|
margin: 0; |
| 28 |
|
|
} |
| 29 |
wakaba |
1.5 |
iframe { |
| 30 |
|
|
display: block; |
| 31 |
|
|
width: 100%; |
| 32 |
|
|
height: 100%; |
| 33 |
|
|
} |
| 34 |
wakaba |
1.1 |
textarea { |
| 35 |
|
|
width: 100%; |
| 36 |
|
|
height: 19em; |
| 37 |
|
|
} |
| 38 |
|
|
button { |
| 39 |
|
|
display: block; |
| 40 |
|
|
position: absolute; |
| 41 |
|
|
top: 9em; |
| 42 |
|
|
left: 110%; |
| 43 |
|
|
} |
| 44 |
|
|
button:after { |
| 45 |
|
|
content: " ->"; |
| 46 |
|
|
} |
| 47 |
|
|
form > fieldset > fieldset { |
| 48 |
|
|
display: block; |
| 49 |
|
|
position: absolute; |
| 50 |
|
|
top: 11em; |
| 51 |
|
|
left: 103%; |
| 52 |
|
|
border-style: none; |
| 53 |
|
|
padding: 0; |
| 54 |
|
|
min-width: 7em; |
| 55 |
|
|
} |
| 56 |
|
|
form > fieldset > fieldset fieldset { |
| 57 |
|
|
font-size: 60%; |
| 58 |
|
|
} |
| 59 |
|
|
fieldset p { |
| 60 |
|
|
margin-top: 0; |
| 61 |
|
|
margin-bottom: 0; |
| 62 |
|
|
} |
| 63 |
wakaba |
1.2 |
#element { |
| 64 |
|
|
width: 5em; |
| 65 |
|
|
} |
| 66 |
wakaba |
1.1 |
</style> |
| 67 |
|
|
</head> |
| 68 |
wakaba |
1.2 |
<body onload="document.getElementById('element').disabled=!document.getElementById('html5').checked"> |
| 69 |
wakaba |
1.1 |
<h1>HTML5 Parser (<em>beta</em>) Web Interface |
| 70 |
|
|
(manakai Version)</h1> |
| 71 |
|
|
|
| 72 |
|
|
<form action="parser-manakai/html" |
| 73 |
|
|
method="post" accept-charset="utf-8" target="result" |
| 74 |
|
|
onsubmit=" |
| 75 |
|
|
var uri = 'parser-manakai/'; |
| 76 |
|
|
if (document.getElementById ('html5').checked) { |
| 77 |
|
|
uri += 'html/'; |
| 78 |
wakaba |
1.2 |
uri += document.getElementById ('element').value + '/'; |
| 79 |
wakaba |
1.5 |
} else if (document.getElementById ('xml1').checked) { |
| 80 |
|
|
uri += 'xml1/'; |
| 81 |
|
|
uri += document.getElementById ('element').value + '/'; |
| 82 |
|
|
} else if (document.getElementById ('swml').checked) { |
| 83 |
|
|
uri += 'swml/'; |
| 84 |
|
|
uri += document.getElementById ('element').value + '/'; |
| 85 |
wakaba |
1.3 |
} else if (document.getElementById ('h2h').checked) { |
| 86 |
|
|
uri += 'h2h/'; |
| 87 |
|
|
uri += document.getElementById ('element').value + '/'; |
| 88 |
wakaba |
1.1 |
} else { |
| 89 |
|
|
uri += 'xhtml/'; |
| 90 |
wakaba |
1.2 |
uri += '/'; |
| 91 |
wakaba |
1.1 |
} |
| 92 |
|
|
if (document.getElementById ('format-test').checked) { |
| 93 |
|
|
this.action = uri + 'test'; |
| 94 |
wakaba |
1.4 |
} else if (document.getElementById ('format-xml').checked) { |
| 95 |
|
|
this.action = uri + 'xml'; |
| 96 |
wakaba |
1.1 |
} else { |
| 97 |
|
|
this.action = uri + 'html'; |
| 98 |
|
|
} |
| 99 |
|
|
"> |
| 100 |
|
|
<fieldset> |
| 101 |
|
|
<p><textarea name="s"><!DOCTYPE html> |
| 102 |
|
|
<html> |
| 103 |
|
|
<head> |
| 104 |
|
|
<title></title> |
| 105 |
|
|
</head> |
| 106 |
|
|
<body></body> |
| 107 |
|
|
</html> |
| 108 |
|
|
</textarea></p> |
| 109 |
|
|
<p><button type="submit">Parse</button></p> |
| 110 |
|
|
<fieldset> |
| 111 |
|
|
<fieldset> |
| 112 |
wakaba |
1.2 |
<p><label title="Show any HTML5 parse errors if checked"><input type="radio" name="input-format" id="html5" onchange="element.disabled = false" checked> HTML5</label></p> |
| 113 |
|
|
<p><label title="Show any XML 1.0/1.1 parse errors if checked (using a non-validating parser)"><input type="radio" name="input-format" onchange="element.disabled = true" id="xhtml5"> XHTML5</label></p> |
| 114 |
wakaba |
1.5 |
<p><label title="Show any XML 1.0/1.1 parse errors if checked (using a non-validating parser)"><input type="radio" name="input-format" onchange="element.disabled = true" id="xml1"> XML1 (work in progress)</label></p> |
| 115 |
|
|
|
| 116 |
|
|
<p><label title="Parse as SWML text serialization document if checked"><input |
| 117 |
|
|
type="radio" name="input-format" id="swml" |
| 118 |
|
|
onchange="element.disabled = true"> SWML</label></p> |
| 119 |
|
|
|
| 120 |
wakaba |
1.3 |
<p><label title="Parse as H2H document if checked"><input type="radio" name="input-format" id="h2h" onchange="element.disabled = true"> H2H</label></p> |
| 121 |
wakaba |
1.5 |
|
| 122 |
wakaba |
1.2 |
<p><input type="text" name="element" id="element" value="" title="If specified, the input is parsed by the fragment parsing (innerHTML) algorithm."></p> |
| 123 |
wakaba |
1.1 |
<p><label title="Show any conformance error of the parsed DOM tree if checked"><input type="checkbox" name="dom5"> DOM5 HTML</label></p> |
| 124 |
|
|
</fieldset> |
| 125 |
|
|
<fieldset> |
| 126 |
|
|
<legend>Output format</legend> |
| 127 |
wakaba |
1.4 |
<p><label title="Show the value of |document.innerHTML| (in HTML) if checked"><input type="radio" name="format" value="html" checked id="format-html"> |
| 128 |
|
|
<code>innerHTML</code> (HTML)</label></p> |
| 129 |
|
|
<p><label title="Show the value of |document.innerHTML| (in XML) if checked"><input type="radio" name="format" value="xml" id="format-xml"> |
| 130 |
|
|
<code>innerHTML</code> (XML)</label></p> |
| 131 |
wakaba |
1.1 |
<p><label title="Show the parsed DOM in the format used in html5lib tests"><input type="radio" name="format" value="test" id="format-test"> |
| 132 |
|
|
parser test</label></p> |
| 133 |
|
|
</fieldset> |
| 134 |
|
|
</fieldset> |
| 135 |
|
|
|
| 136 |
|
|
</fieldset> |
| 137 |
|
|
|
| 138 |
wakaba |
1.5 |
<p id=result-para><iframe name="result" src="about:blank"></iframe></p> |
| 139 |
wakaba |
1.1 |
</form> |
| 140 |
|
|
|
| 141 |
|
|
<address>Powered by |
| 142 |
|
|
<a href="http://suika.fam.cx/www/markup/html/whatpm/readme">Whatpm</a> |
| 143 |
|
|
and |
| 144 |
|
|
<a href="http://suika.fam.cx/www/2006/manakai/">manakai</a>.</address> |
| 145 |
|
|
|
| 146 |
|
|
</body> |
| 147 |
|
|
</html> |