| 8 | 
 <link rel="author" href="#author"> | 
 <link rel="author" href="#author"> | 
| 9 | 
 </head> | 
 </head> | 
| 10 | 
 <body> | 
 <body> | 
| 11 | 
 <h1>Whatpm (<em>beta</em>)</h1> | 
 <h1>Whatpm — Perl modules for Web hypertext application technologies | 
| 12 | 
  | 
 (<em>beta</em>)</h1> | 
| 13 | 
  | 
  | 
| 14 | 
 <div class="section" id="introduction"> | 
 <div class="section" id="introduction"> | 
| 15 | 
 <h2>Introduction</h2> | 
 <h2>Introduction</h2> | 
| 16 | 
  | 
  | 
| 17 | 
 <p><dfn>Whatpm</dfn> is a <em>work-in-progress</em> set of <m>P</m>erl | 
 <p><dfn>Whatpm</dfn> is a <em>work-in-progress</em> set of | 
| 18 | 
 <m>m</m>odules for <m>W</m>eb <m>h</m>ypertext <m>a</m>pplication  | 
 <mark>P</mark>erl <mark>m</mark>odules for <mark>W</mark>eb | 
| 19 | 
 <m>t</m>echnologies.  It is part | 
 <mark>h</mark>ypertext <mark>a</mark>pplication | 
| 20 | 
 of the <a href="http://suika.fam.cx/www/2006/manakai/" rel=up>manakai</a> | 
 <mark>t</mark>echnologies.  It is part of the <a | 
| 21 | 
  | 
 href="http://suika.fam.cx/www/2006/manakai/" rel=up>manakai</a> | 
| 22 | 
 project.</p> | 
 project.</p> | 
| 23 | 
  | 
  | 
| 24 | 
  | 
 <p>Whatpm supports various Web standard technologies, including <a | 
| 25 | 
  | 
 href="#modules-html">HTML, XHTML</a>, <a href="#modules-xml">XML</a>, | 
| 26 | 
  | 
 <a hreF="#modules-css">CSS</a>, <a href="#modules-http">HTTP</a>, and | 
| 27 | 
  | 
 <a href="#modules-url">URL</a>. | 
| 28 | 
  | 
 </div> | 
| 29 | 
  | 
  | 
| 30 | 
  | 
 <div class=section id=modules> | 
| 31 | 
  | 
 <h2>Modules</h2> | 
| 32 | 
  | 
  | 
| 33 | 
  | 
 <div class=section id=modules-html-xml> | 
| 34 | 
  | 
 <h3>Modules for HTML and XML</h3> | 
| 35 | 
  | 
  | 
| 36 | 
  | 
 <p id=modules-html>Modules related to HTML and XHTML are as follows: | 
| 37 | 
 <dl> | 
 <dl> | 
 | 
 <dt>Modules</dt> | 
  | 
 | 
 <dd><dl> | 
  | 
 | 
 <dt><a href="Whatpm/CacheManifest.html"><code>Whatpm::CacheManifest</code></a></dt> | 
  | 
 | 
   <dd>An | 
  | 
 | 
   <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5 | 
  | 
 | 
   cache manifest</a> parser.</dd> | 
  | 
 | 
 <dt id=whatpm-charset-universalchardet><a href="Whatpm/Charset/UniversalCharDet.html"><code>Whatpm::Charset::UniversalCharDet</code></a></dt> | 
  | 
 | 
   <dd>A Perl interface to universalchardet character encoding detection | 
  | 
 | 
   library.</dd> | 
  | 
 | 
 <dt><a href="Whatpm/ContentChecker.html"><code>Whatpm::ContentChecker</code></a></dt> | 
  | 
 | 
   <dd>A DOM5 HTML (in-memory representation of a document) conformance | 
  | 
 | 
   checker with a partial support for Atom 1.0.  (See also | 
  | 
 | 
   <a href="#demo-html-parser">demo</a>.)</dd> | 
  | 
 | 
 <dt><a href="Whatpm/ContentType.html"><code>Whatpm::ContentType</code></a></dt> | 
  | 
 | 
   <dd>An implementation of HTML5 Content Type sniffing algorithm.</dd> | 
  | 
 | 
 <dt><a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a></dt> | 
  | 
 | 
   <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of | 
  | 
 | 
   selectors</a> parser.  (See also <a href="#demo-css-parser">demo</a>.)</dd> | 
  | 
 | 
 <dt><a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a></dt> | 
  | 
 | 
   <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of | 
  | 
 | 
   selectors</a> serializer.  (See also <a href="#spec-ssft">specification</a> | 
  | 
 | 
   and <a href="#demo-css-parser">demo</a>.)</dd> | 
  | 
 | 
 <dt><a href="Whatpm/CSS/Tokenizer.html"><code>Whatpm::CSS::Tokenizer</code></a></dt> | 
  | 
 | 
   <dd>A CSS tokenizer.  (See also <a href="#demo-css-parser">demo</a>.)</dd> | 
  | 
| 38 | 
 <dt id=module-whatpm-html><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt> | 
 <dt id=module-whatpm-html><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt> | 
| 39 | 
   <dd>An implementation of HTML5 document and fragment | 
   <dd>An implementation of HTML5 document and fragment | 
| 40 | 
   parsing algorithms.  It can be used | 
   parsing algorithms.  It can be used | 
| 48 | 
   <dd>An implementation of the HTML5 table algorithm.  It can be | 
   <dd>An implementation of the HTML5 table algorithm.  It can be | 
| 49 | 
   used to extract a table structure from a DOM <code>table</code> | 
   used to extract a table structure from a DOM <code>table</code> | 
| 50 | 
   element node.  (See also <a href="#demo-html-table">demo</a>.)</dd> | 
   element node.  (See also <a href="#demo-html-table">demo</a>.)</dd> | 
| 51 | 
  | 
 </dl> | 
| 52 | 
  | 
  | 
| 53 | 
  | 
 <p id=modules-xml>The module for <i>tentative</i> XML support is as follow: | 
| 54 | 
  | 
 <dl> | 
| 55 | 
  | 
 <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt> | 
| 56 | 
  | 
   <dd>A simple XML serializer.</dd> | 
| 57 | 
  | 
 </dl> | 
| 58 | 
  | 
  | 
| 59 | 
  | 
 <p><i>Real</i> XML parser and serializer are currently not available yet. | 
| 60 | 
  | 
  | 
| 61 | 
  | 
 <p id=modules-cc>The module for conformance checking of a DOM tree (i.e. | 
| 62 | 
  | 
 a in-memory representation of a HTML or XML document) is as follows: | 
| 63 | 
  | 
 <dl> | 
| 64 | 
  | 
 <dt><a href="Whatpm/ContentChecker.html"><code>Whatpm::ContentChecker</code></a></dt> | 
| 65 | 
  | 
   <dd>A DOM5 HTML (in-memory representation of a document) conformance | 
| 66 | 
  | 
   checker with a partial support for Atom 1.0.  (See also | 
| 67 | 
  | 
   <a href="#demo-html-parser">demo</a>.)</dd> | 
| 68 | 
  | 
 </dl> | 
| 69 | 
  | 
  | 
| 70 | 
  | 
 <p>Currently, conformance checking of HTML/XHTML and Atom documents | 
| 71 | 
  | 
 is supported. | 
| 72 | 
  | 
  | 
| 73 | 
  | 
 <p>For these modules, a DOM implementation that supports the manakai's | 
| 74 | 
  | 
 Perl binding<!-- @@ TODO: ref --> is necessary to represent a document | 
| 75 | 
  | 
 in memory.  The <a | 
| 76 | 
  | 
 href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a> | 
| 77 | 
  | 
 package contains such an implementation, | 
| 78 | 
  | 
 <code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it | 
| 79 | 
  | 
 should also be possible to use any other implementation that supports | 
| 80 | 
  | 
 the binding. | 
| 81 | 
  | 
 </div> | 
| 82 | 
  | 
  | 
| 83 | 
  | 
 <div class=section id=modules-css> | 
| 84 | 
  | 
 <h3>Modules for CSS</h3> | 
| 85 | 
  | 
  | 
| 86 | 
  | 
 <p>Modules for CSS and related technologies are as follows: | 
| 87 | 
  | 
 <dl> | 
| 88 | 
  | 
 <dt><a href="Whatpm/CSS/Cascade.html"><code>Whatpm::CSS::Cascade</code></a> | 
| 89 | 
  | 
   <dd>A media-independent implementation of CSS cascading and value | 
| 90 | 
  | 
   computation.  (See also <a href="#demo-css-parser">demo</a>.) | 
| 91 | 
  | 
 <dt><a href="Whatpm/CSS/MediaQueryParser.pm"><code>Whatpm::CSS::MediaQueryParser</code></a> | 
| 92 | 
  | 
   <dd>A media query parser. | 
| 93 | 
  | 
 <dt><a href="Whatpm/CSS/MediaQuerySerializer.pm"><code>Whatpm::CSS::MediaQuerySerializer</code></a> | 
| 94 | 
  | 
   <dd>A media query serializer. | 
| 95 | 
  | 
 <dt><a href="Whatpm/CSS/Parser.html"><code>Whatpm::CSS::Parser</code></a> | 
| 96 | 
  | 
   <dd>A CSS parser that constructs CSSOM trees from style sheets.  (See | 
| 97 | 
  | 
   also <a href="#demo-css-parser">demo</a>.) | 
| 98 | 
  | 
 <dt><a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a></dt> | 
| 99 | 
  | 
   <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of | 
| 100 | 
  | 
   selectors</a> parser.  (See also <a href="#demo-css-parser">demo</a>.)</dd> | 
| 101 | 
  | 
 <dt><a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a></dt> | 
| 102 | 
  | 
   <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of | 
| 103 | 
  | 
   selectors</a> serializer.  (See also <a href="#spec-ssft">specification</a> | 
| 104 | 
  | 
   and <a href="#demo-css-parser">demo</a>.)</dd> | 
| 105 | 
  | 
 <dt><a href="Whatpm/CSS/Tokenizer.html"><code>Whatpm::CSS::Tokenizer</code></a></dt> | 
| 106 | 
  | 
   <dd>A CSS tokenizer.  (See also <a href="#demo-css-parser">demo</a>.)</dd> | 
| 107 | 
  | 
 </dl> | 
| 108 | 
  | 
  | 
| 109 | 
  | 
 <p>For the <code>Whatpm::CSS::Parser</code> module reresents a CSSOM | 
| 110 | 
  | 
 tree, modules in the <a | 
| 111 | 
  | 
 href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a> | 
| 112 | 
  | 
 package are used.  Those modules also provide the serializer for the | 
| 113 | 
  | 
 CSSOM tree, as the standard <code>css_text</code> attribute. | 
| 114 | 
  | 
 </div> | 
| 115 | 
  | 
  | 
| 116 | 
  | 
 <div class=section id=modules-http> | 
| 117 | 
  | 
 <h3>Modules for HTTP</h3> | 
| 118 | 
  | 
  | 
| 119 | 
  | 
 <p>Modules for HTTP and related technologies are as follows: | 
| 120 | 
  | 
 <dl> | 
| 121 | 
  | 
 <dt><a href="Whatpm/ContentType.html"><code>Whatpm::ContentType</code></a></dt> | 
| 122 | 
  | 
   <dd>An implementation of HTML5 Content Type sniffing algorithm.</dd> | 
| 123 | 
 <dt><a href="Whatpm/IMTChecker.html"><code>Whatpm::IMTChecker</code></a></dt> | 
 <dt><a href="Whatpm/IMTChecker.html"><code>Whatpm::IMTChecker</code></a></dt> | 
| 124 | 
   <dd>An Internet Media Type (<abbr>aka</abbr> MIME type) label | 
   <dd>An Internet Media Type (<abbr>aka</abbr> MIME type) label | 
| 125 | 
   conformance checker.</dd> | 
   conformance checker.</dd> | 
| 126 | 
  | 
 </dl> | 
| 127 | 
  | 
  | 
| 128 | 
  | 
 <p>Currently, support for parsing of HTTP headers and as such is not | 
| 129 | 
  | 
 yet available. | 
| 130 | 
  | 
 </div> | 
| 131 | 
  | 
  | 
| 132 | 
  | 
 <div class=section id=modules-url> | 
| 133 | 
  | 
 <h3>Module for URL</h3> | 
| 134 | 
  | 
  | 
| 135 | 
  | 
 <p>Module for the URL support is as follows: | 
| 136 | 
  | 
 <dl> | 
| 137 | 
 <dt><a href="Whatpm/URIChecker.html"><code>Whatpm::URIChecker</code></a></dt> | 
 <dt><a href="Whatpm/URIChecker.html"><code>Whatpm::URIChecker</code></a></dt> | 
| 138 | 
   <dd>An IRI reference conformance checker.</dd> | 
   <dd>An IRI reference conformance checker.</dd> | 
| 139 | 
 <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt> | 
 </dl> | 
| 140 | 
   <dd>A simple XML serializer.</dd> | 
  | 
| 141 | 
   </dl> | 
 <p>Support for HTML5's realistic definition of URL is not available yet. | 
| 142 | 
  | 
 </div> | 
| 143 | 
  | 
  | 
| 144 | 
  | 
 <div class=section id=modules-misc> | 
| 145 | 
  | 
 <h3>Modules for other technologies</h3> | 
| 146 | 
  | 
  | 
| 147 | 
  | 
 <p>Following modules provide support for other Web-related technologies: | 
| 148 | 
  | 
 <dl> | 
| 149 | 
  | 
 <dt><a href="Whatpm/CacheManifest.html"><code>Whatpm::CacheManifest</code></a></dt> | 
| 150 | 
  | 
   <dd>An | 
| 151 | 
  | 
   <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5 | 
| 152 | 
  | 
   cache manifest</a> parser.</dd> | 
| 153 | 
  | 
 <dt><a href="Whatpm/Charset/DecodeHandle.html"><code>Whatpm::Charset::DecodeHandle</code></a> | 
| 154 | 
  | 
   <dd>A filehandle-like wrapper <a href="#doc-handles">interface</a> to | 
| 155 | 
  | 
   decode byte stream encoded in some character encoding. | 
| 156 | 
  | 
 <dt><a href="Whatpm/Charset/UnicodeChecker.html"><code>Whatpm::Charset::UnicodeChecker</code></a> | 
| 157 | 
  | 
   <dd>A Unicode character string checker. | 
| 158 | 
  | 
 <dt id=whatpm-charset-universalchardet><a href="Whatpm/Charset/UniversalCharDet.html"><code>Whatpm::Charset::UniversalCharDet</code></a></dt> | 
| 159 | 
  | 
   <dd>A Perl interface to universalchardet character encoding detection | 
| 160 | 
  | 
   library.</dd> | 
| 161 | 
  | 
   <dt><a href="Whatpm/LangTag.html"><code>Whatpm::LangTag</code></a> | 
| 162 | 
  | 
     <dd>A language tag parser and conformance checker, supporting both | 
| 163 | 
  | 
     older RFC 3066 definition and latest RFC 4646 definition.  (See also | 
| 164 | 
  | 
     <a href="#demo-langtag">demo</a>.) | 
| 165 | 
  | 
 <dt><a href="Whatpm/WebIDL.html"><code>Whatpm::WebIDL</code></a></dt> | 
| 166 | 
  | 
   <dd>A WebIDL fragment parser.  It parses an IDL fragment, whether conforming | 
| 167 | 
  | 
   or not, and constructs a DOM-like object model for further processing. | 
| 168 | 
  | 
   Non-conforming (or broken) IDL fragment-like string will be parsed using | 
| 169 | 
  | 
   CSS-like error-tolerant parsing rules, e.g. ignoring anything until next | 
| 170 | 
  | 
   <code>;</code> character. | 
| 171 | 
  | 
 </dl> | 
| 172 | 
  | 
 </div> | 
| 173 | 
  | 
  | 
| 174 | 
   <p>Note that all of these modules are <em>work in progress</em> | 
   <p>Note that all of these modules are <em>work in progress</em> | 
| 175 | 
   and have <a href="#todo">a number of unresolved problems</a>.</p> | 
   and have <a href="#todo">a number of unresolved problems</a>.</p> | 
| 176 | 
  | 
  | 
| 177 | 
   <p>Note also that some modules have no documentation for now.</p> | 
   <p>Note also that some modules have no documentation for now.</p> | 
| 178 | 
   </dd> | 
  | 
| 179 | 
 <dt id=spec>Specification</dt> | 
 <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and | 
| 180 | 
   <dd><dl> | 
      Whatpm::XMLParser are intentionally omitted from the list. --> | 
| 181 | 
     <dt id=spec-ssft><a href="http://suika.fam.cx/www/markup/selectors/ssft/ssft"><abbr title="Selectors Serialization Format for Testing">SSFT</abbr> | 
 </div> | 
| 182 | 
     Specification</a></dt> | 
  | 
| 183 | 
       <dd>The specification for the serialization format used for | 
 <div class=section id=documents> | 
| 184 | 
       testing Selectors-related modules.</dd> | 
 <h2>Documents</h2> | 
| 185 | 
     <dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's | 
  | 
| 186 | 
     Selectors Extensions</a></dt> | 
 <p>For the description of functionalities provided by each module, see | 
| 187 | 
       <dd>The specification for <code>:-manakai-<var>*</var></code> | 
 <abbr>pod</abbr> documentation of the module.  HTML version of | 
| 188 | 
       pseudo-classes implemented by Selectors-related modules.</dd> | 
 <abbr>pod</abbr> documentations are linked from the <a | 
| 189 | 
   </dl></dd> | 
 href="#modules">list of modules above</a>. | 
| 190 | 
 <dt>Documentations</dt> | 
  | 
| 191 | 
   <dd><dl> | 
 <p>In addition, there are additional documents for some topics: | 
| 192 | 
  | 
 <dl> | 
| 193 | 
 <dt><a href="http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types">List of error types</a></dt> | 
 <dt><a href="http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types">List of error types</a></dt> | 
| 194 | 
  | 
 <!-- @@ TODO: Need to update the link - the document above is out of date --> | 
| 195 | 
   <dd>Description of errors to be notified to callback functions by Whatpm | 
   <dd>Description of errors to be notified to callback functions by Whatpm | 
| 196 | 
   modules.</dd> | 
   modules.</dd> | 
| 197 | 
     <dt><a href="Whatpm/CSS/selectors-object">Selectors object</a></dt> | 
  | 
| 198 | 
       <dd>Description of data structure for Selectors, as implemented by | 
 <dt><a href="Whatpm/CSS/selectors-object">Selectors object</a></dt> | 
| 199 | 
       <a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a> | 
   <dd>Description of data structure for Selectors, as implemented by | 
| 200 | 
       (as output), and | 
   <a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a> | 
| 201 | 
       <a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a> | 
   (as output), and | 
| 202 | 
       (as input)<!--, and | 
   <a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a> | 
| 203 | 
       <a href="http://suika.fam.cx/www/manakai-core/lib/Message/DOM/SelectorsAPI.html"><code>Message::DOM::SelectorsAPI</code></a>-->.</dd> | 
   (as input)<!--, and | 
| 204 | 
     <dt id=doc-user-data-names><a href="http://suika.fam.cx/gate/2005/sw/manakai/Predefined%20User%20Data%20Names">List of predefined user data names</a></dt> | 
   <a href="http://suika.fam.cx/www/manakai-core/lib/Message/DOM/SelectorsAPI.html"><code>Message::DOM::SelectorsAPI</code></a>-->.</dd> | 
| 205 | 
       <dd>List of user data names defined by Whatpm modules.</dd> | 
  | 
| 206 | 
     </dl> | 
 <dt id=doc-user-data-names><a href="http://suika.fam.cx/gate/2005/sw/manakai/Predefined%20User%20Data%20Names">List of predefined user data names</a></dt> | 
| 207 | 
   </dd> | 
   <dd>List of user data names defined by Whatpm modules.</dd> | 
| 208 | 
  | 
  | 
| 209 | 
  | 
 <dt id=doc-handles><a href="Whatpm/Charset/handles">Handle objects</a> | 
| 210 | 
  | 
   <dd>Description of character or byte stream input handle interfaces. | 
| 211 | 
  | 
 </dl> | 
| 212 | 
  | 
  | 
| 213 | 
  | 
 <p>Following specifications define Whatpm-specific formats and extensions: | 
| 214 | 
  | 
 <dl id=spec> | 
| 215 | 
  | 
 <dt id=spec-ssft><a href="http://suika.fam.cx/www/markup/selectors/ssft/ssft"><abbr title="Selectors Serialization Format for Testing">SSFT</abbr> | 
| 216 | 
  | 
 Specification</a></dt> | 
| 217 | 
  | 
   <dd>The specification for the serialization format used for | 
| 218 | 
  | 
   testing Selectors-related modules.</dd> | 
| 219 | 
  | 
  | 
| 220 | 
  | 
 <dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's | 
| 221 | 
  | 
 Selectors Extensions</a></dt> | 
| 222 | 
  | 
   <dd>The specification for <code>:-manakai-<var>*</var></code> | 
| 223 | 
  | 
   pseudo-classes implemented by Selectors-related modules.</dd> | 
| 224 | 
 </dl> | 
 </dl> | 
| 225 | 
 </div> | 
 </div> | 
| 226 | 
  | 
  | 
| 239 | 
 <li id=demo-html-table><a href="http://suika.fam.cx/gate/2007/html/table-interface">HTML5 table | 
 <li id=demo-html-table><a href="http://suika.fam.cx/gate/2007/html/table-interface">HTML5 table | 
| 240 | 
 structure visualization demo</a> | 
 structure visualization demo</a> | 
| 241 | 
 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/table.cgi">source</a>)</li> | 
 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/table.cgi">source</a>)</li> | 
| 242 | 
 <li id=demo-css-parser><a href="http://suika.fam.cx/gate/2007/css/parser-interface">CSS tokenizer | 
  | 
| 243 | 
 demo</a> | 
 <li id=demo-css-parser><a href="http://suika.fam.cx/gate/2007/css/parser-interface">CSS | 
| 244 | 
  | 
 tokenizer, parser, and computed style computation demo</a> | 
| 245 | 
 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/css/parser.cgi">source</a>)</li> | 
 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/css/parser.cgi">source</a>)</li> | 
| 246 | 
  | 
  | 
| 247 | 
  | 
 <li id=demo-langtag><a href="http://suika.fam.cx/gate/2007/langtag/langtag-demo-interface">Language | 
| 248 | 
  | 
 tag parsing and conformance checking demo</a> | 
| 249 | 
  | 
 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/langtag/langtag-demo.cgi">source</a>) | 
| 250 | 
  | 
 </ul> | 
| 251 | 
  | 
 </div> | 
| 252 | 
  | 
  | 
| 253 | 
  | 
 <div class=section id=applications> | 
| 254 | 
  | 
 <h2>Application</h2> | 
| 255 | 
  | 
  | 
| 256 | 
  | 
 <ul> | 
| 257 | 
  | 
 <li><a href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr>  | 
| 258 | 
  | 
 (Web hypertext application conformance checker)</a> | 
| 259 | 
 </ul> | 
 </ul> | 
| 260 | 
 </div> | 
 </div> | 
| 261 | 
  | 
  | 
| 291 | 
     <a href="http://suika.fam.cx/www/manakai-core/lib/Message/Charset/Info.html"><code>Message::Charset::Info</code></a>, | 
     <a href="http://suika.fam.cx/www/manakai-core/lib/Message/Charset/Info.html"><code>Message::Charset::Info</code></a>, | 
| 292 | 
     which is part of | 
     which is part of | 
| 293 | 
     <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd> | 
     <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd> | 
| 294 | 
  | 
 <dt><code>Message::DOM::DOMImplementation</code> | 
| 295 | 
  | 
   <dd>Module <code>Whatpm::URIChecker</code> depends on | 
| 296 | 
  | 
   <code>Message::DOM::DOMImplementation</code>, | 
| 297 | 
  | 
     which is part of | 
| 298 | 
  | 
     <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>. | 
| 299 | 
 <dt><code>Message::DOM::DOMImplementation</code> and related modules</dt> | 
 <dt><code>Message::DOM::DOMImplementation</code> and related modules</dt> | 
| 300 | 
   <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code> | 
   <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code> | 
| 301 | 
   depends on <code>Message::DOM::DOMImplementation</code> and related modules | 
   depends on <code>Message::DOM::DOMImplementation</code> and related modules | 
| 316 | 
 module, and <a href="http://chardet.feedparser.org/">Universal Encoding | 
 module, and <a href="http://chardet.feedparser.org/">Universal Encoding | 
| 317 | 
 Detector</a></dt> | 
 Detector</a></dt> | 
| 318 | 
   <dd>For the module <code>Whatpm::Charset::UniversalCharDet</code> being | 
   <dd>For the module <code>Whatpm::Charset::UniversalCharDet</code> being | 
| 319 | 
   meaningful, these softwares are requires on the system.  See the | 
   meaningful, these softwares are required on the system.  See the | 
| 320 | 
   <a href="Whatpm/Charset/UniversalCharDet.html#dependency">documentation</a> | 
   <a href="Whatpm/Charset/UniversalCharDet.html#dependency">documentation</a> | 
| 321 | 
   for more information.</dd> | 
   for more information.</dd> | 
| 322 | 
 <dt><a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code></a></dt> | 
 <dt><a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code></a></dt> | 
| 334 | 
 <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS  | 
 <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS  | 
| 335 | 
 repository</a>.</p> | 
 repository</a>.</p> | 
| 336 | 
  | 
  | 
| 337 | 
  | 
 <p><a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/whatpm.tar.gz?tarball=1">The | 
| 338 | 
  | 
 latest developmenet version of the Whatpm</a> is also available as a | 
| 339 | 
  | 
 tarball. | 
| 340 | 
  | 
  | 
| 341 | 
 </div> | 
 </div> | 
| 342 | 
  | 
  | 
| 343 | 
 <div class="section" id="todo"> | 
 <div class="section" id="todo"> | 
| 349 | 
     <a href="t/tokenizer-result">HTML tokenization</a>, | 
     <a href="t/tokenizer-result">HTML tokenization</a>, | 
| 350 | 
     <a href="t/tree-construction-result">HTML tree construction</a>, | 
     <a href="t/tree-construction-result">HTML tree construction</a>, | 
| 351 | 
     <a href="t/content-checker-result"><code>Whatpm::ContentChecker</code></a>).</li> | 
     <a href="t/content-checker-result"><code>Whatpm::ContentChecker</code></a>).</li> | 
| 352 | 
  | 
   <li>Merge with the <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a> | 
| 353 | 
  | 
       code tree. | 
| 354 | 
   <li>Charset detection.</li> | 
   <li>Charset detection.</li> | 
| 355 | 
   <li>Validation for <code>meta</code>.</li> | 
   <li>Validation for <code>meta</code>.</li> | 
| 356 | 
   <li>Validation for media queries, IRIs (against URI schemes), language tags, | 
   <li>Validation for media queries, IRIs (against URI schemes), language tags, | 
| 380 | 
 <div class="section" id="license"> | 
 <div class="section" id="license"> | 
| 381 | 
 <h2>License</h2> | 
 <h2>License</h2> | 
| 382 | 
  | 
  | 
| 383 | 
 <p>Copyright 2007 Wakaba  | 
 <p>Copyright 2007$B!>(B2008 Wakaba  | 
| 384 | 
 <code class="mail"><<a href="mailto:w@suika.fam.cx" | 
 <code class="mail"><<a href="mailto:w@suika.fam.cx" | 
| 385 | 
     rel="author">w@suika.fam.cx</a>></code>.</p> | 
     rel="author">w@suika.fam.cx</a>></code>.</p> | 
| 386 | 
  | 
  |