Parent Directory
|
Revision Log
++ ChangeLog 11 Dec 2008 03:20:10 -0000 2008-12-11 Wakaba <wakaba@suika.fam.cx> * error-description-source.en.xml: Added descriptions for errors from Regexp::Parser and Regexp::Parser::JavaScript modules. * cc.cgi: Added support for JavaScript regular expressions. ++ html/WebHACC/Language/ChangeLog 11 Dec 2008 03:18:54 -0000 2008-12-11 Wakaba <wakaba@suika.fam.cx> * RegExpJS.pm: New module. ++ html/WebHACC/ChangeLog 11 Dec 2008 03:22:42 -0000 2008-12-11 Wakaba <wakaba@suika.fam.cx> * Output.pm (generate_input_section): Added support for JavaScript regular expressions. 2008-12-10 Wakaba <wakaba@suika.fam.cx> * Result.pm: Added support for |valueref| parameter of an error. |pos_end| should point the (intercharacter) position where the highlighted substring ends, not the character before the position, otherwise empty substring cannot be represented well.
| 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 |