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 |
height: 30em; |
10 |
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 |
#result-para { |
23 |
display: block; |
24 |
position: absolute; |
25 |
top: 0; right: 0; |
26 |
width: 40%; bottom: 0; |
27 |
margin: 0; |
28 |
} |
29 |
iframe { |
30 |
display: block; |
31 |
width: 100%; |
32 |
height: 100%; |
33 |
} |
34 |
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 |
#element { |
64 |
width: 5em; |
65 |
} |
66 |
</style> |
67 |
</head> |
68 |
<body onload="document.getElementById('element').disabled=!document.getElementById('html5').checked"> |
69 |
<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 |
uri += document.getElementById ('element').value + '/'; |
79 |
} 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 |
} else if (document.getElementById ('h2h').checked) { |
86 |
uri += 'h2h/'; |
87 |
uri += document.getElementById ('element').value + '/'; |
88 |
} else { |
89 |
uri += 'xhtml/'; |
90 |
uri += '/'; |
91 |
} |
92 |
if (document.getElementById ('format-test').checked) { |
93 |
this.action = uri + 'test'; |
94 |
} else if (document.getElementById ('format-xml').checked) { |
95 |
this.action = uri + 'xml'; |
96 |
} 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 |
<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 |
<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 |
<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 |
|
122 |
<p><input type="text" name="element" id="element" value="" title="If specified, the input is parsed by the fragment parsing (innerHTML) algorithm."></p> |
123 |
<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 |
<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 |
<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 |
<p id=result-para><iframe name="result" src="about:blank"></iframe></p> |
139 |
</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> |