/[suikacvs]/markup/html/whatpm/readme.en.html
Suika

Contents of /markup/html/whatpm/readme.en.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.31 - (show annotations) (download) (as text)
Tue Oct 21 06:10:09 2008 UTC (16 years ago) by wakaba
Branch: MAIN
Changes since 1.30: +108 -8 lines
File MIME type: text/html
++ ChangeLog	21 Oct 2008 06:09:47 -0000
	* readme.en.html: Link to the feed.  "What's new" section and "how
	to use the modules" section added.  |Whatpm::XML::Parser| added to
	the list of modules.

2008-10-21  Wakaba  <wakaba@suika.fam.cx>

1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <title>Whatpm &mdash; Perl Modules for Web Hypertext Application
5 Technologies (beta)</title>
6 <link rel="stylesheet" href="http://suika.fam.cx/www/style/html/xhtml">
7 <link rel="license" href="#license">
8 <link rel="author" href="#author">
9 <link rel=feed href="whatpm-commit" type="application/atom+xml"
10 title="ChangeLog diffs">
11 </head>
12 <body>
13 <h1>Whatpm &mdash; Perl modules for Web hypertext application technologies
14 (<em>beta</em>)</h1>
15
16 <div class="section" id="introduction">
17 <h2>Introduction</h2>
18
19 <p><dfn>Whatpm</dfn> is a <em>work-in-progress</em> set of
20 <mark>P</mark>erl <mark>m</mark>odules for <mark>W</mark>eb
21 <mark>h</mark>ypertext <mark>a</mark>pplication
22 <mark>t</mark>echnologies. It is part of the <a
23 href="http://suika.fam.cx/www/2006/manakai/" rel=up>manakai</a>
24 project.</p>
25
26 <p>Whatpm supports various Web standard technologies, including <a
27 href="#modules-html">HTML, XHTML</a>, <a href="#modules-xml">XML</a>,
28 <a hreF="#modules-css">CSS</a>, <a href="#modules-http">HTTP</a>, and
29 <a href="#modules-url">URL</a>.
30 </div>
31
32 <div class=section id=news>
33 <h2>What's new?</h2>
34
35 <p><a href="whatpm-commit" rel=feed type="application/atom+xml">An
36 Atom feed for ChangeLog diffs</a> is available.
37
38 <ul>
39
40 <li><time>2008-10-21</time>: <a href="#module-whatpm-xml-parser">An
41 XML parser with non-draconian error handling</a> released.
42 (Documentation is not available yet.)
43
44 </ul>
45
46 </div>
47
48 <div class=section id=modules>
49 <h2>Modules</h2>
50
51 <p>Note that all of these modules are <em>work in progress</em>
52 and have <a href="#todo">a number of unresolved problems</a>.</p>
53
54 <p>Note also that some modules have no documentation for now.</p>
55
56 <div class=section id=modules-html-xml>
57 <h3>Modules for HTML and XML</h3>
58
59 <p id=modules-html>Modules related to HTML and XHTML are as follows:
60 <dl>
61 <dt id=module-whatpm-html><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt>
62 <dd>An implementation of HTML5 document and fragment
63 parsing algorithms. It can be used
64 to convert an arbitrary string into a
65 <abbr title="Document Object Model">DOM</abbr>. (See also
66 <a href="#demo-html-parser">demo</a>.)</dd>
67 <dt id=module-whatpm-html-serializer><a href="Whatpm/HTML/Serializer.html"><code>Whatpm::HTML::Serializer</code></a></dt>
68 <dd>An implementation of HTML5 fragment serialization algorithm.
69 (See also <a href="#demo-html-parser">demo</a>.)</dd>
70 <dt><a href="Whatpm/HTMLTable.html"><code>Whatpm::HTMLTable</code></a></dt>
71 <dd>An implementation of the HTML5 table algorithm. It can be
72 used to extract a table structure from a DOM <code>table</code>
73 element node. (See also <a href="#demo-html-table">demo</a>.)</dd>
74 </dl>
75
76 <p id=modules-xml>Modules for the XML support is as follow:
77
78 <dl>
79
80 <dt id=module-whatpm-xml-parser><a
81 href="Whatpm/XML/Parser.html"><code>Whatpm::XML::Parser</code></a>
82
83 <dd><p>An XML parser with non-draconian error handling. It can
84 construct a DOM tree from XML 1.0/1.1 documents that does <em>not</em>
85 rely on external entities (including the external subset entity) and
86 that does <em>not</em> contain general entity reference that
87 references an entity whose replacement text contains character
88 <code>&</code> or <code>&lt;</code>. It also supports XML namespaces.
89
90 <p>It does not stop the process to construct a DOM tree even if it
91 detects a well-formedness or a namespace well-formedness error. It
92 recovers from errors in a manner similar to HTML5's tokenization
93 algorithm. It is expected that the combination of this module and a
94 future extension to the <code>Whatpm::ContentChecker</code> framework
95 will provide a mean to detect all well-formedness and validity errors,
96 if desired.
97
98 <p>(See also <a href="#demo-html-parser-manakai">demo</a>.)
99
100 <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt>
101
102 <dd>A simple XML serializer. It does namespace prefix fixups and
103 suitable for the serialization of a carefully build XML DOM tree. It
104 does not assure that the output is well-formed.
105
106 </dl>
107
108 <p id=modules-cc>The module for conformance checking of a DOM tree (i.e.
109 a in-memory representation of an HTML or XML document) is as follows:
110 <dl>
111
112 <dt><a href="Whatpm/ContentChecker.html"><code>Whatpm::ContentChecker</code></a></dt>
113
114 <dd>A DOM5 HTML (in-memory representation of a document) conformance
115 checker with a partial support for Atom 1.0. (See also <a
116 href="#demo-html-parser">demo</a> and <a
117 href="#app-webhacc">application</a>.)
118
119 </dl>
120
121 <p>Currently, conformance checking of HTML/XHTML and Atom documents
122 is supported.
123
124 <p>For these modules, a DOM implementation that supports the manakai's
125 Perl binding<!-- @@ TODO: ref --> of DOM is necessary to represent a
126 document in memory. The <a
127 href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
128 package contains such an implementation,
129 <code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it
130 should also be possible to use any other implementation that supports
131 the binding.
132
133 </div>
134
135 <div class=section id=modules-css>
136 <h3>Modules for CSS</h3>
137
138 <p>Modules for CSS and related technologies are as follows:
139 <dl>
140 <dt><a href="Whatpm/CSS/Cascade.html"><code>Whatpm::CSS::Cascade</code></a>
141 <dd>A media-independent implementation of CSS cascading and value
142 computations. (See also <a href="#demo-css-parser">demo</a>.)
143
144 <dt><a href="Whatpm/CSS/MediaQueryParser.pm"><code>Whatpm::CSS::MediaQueryParser</code></a>
145
146 <dd>A media query parser. Note that only CSS 2.1 media types are
147 supported at the moment.
148
149 <dt><a href="Whatpm/CSS/MediaQuerySerializer.pm"><code>Whatpm::CSS::MediaQuerySerializer</code></a>
150
151 <dd>A media query serializer. Note that only CSS 2.1 media types
152 are supported at the moment.
153
154 <dt><a href="Whatpm/CSS/Parser.html"><code>Whatpm::CSS::Parser</code></a>
155 <dd>A CSS parser that constructs CSSOM trees from style sheets. (See
156 also <a href="#demo-css-parser">demo</a>.)
157 <dt><a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a></dt>
158 <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of
159 selectors</a> parser. (See also <a href="#demo-css-parser">demo</a>.)</dd>
160 <dt><a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a></dt>
161 <dd>A <a href="http://www.w3.org/TR/css3-selectors/#grouping">group of
162 selectors</a> serializer. (See also <a href="#spec-ssft">specification</a>
163 and <a href="#demo-css-parser">demo</a>.)</dd>
164 <dt><a href="Whatpm/CSS/Tokenizer.html"><code>Whatpm::CSS::Tokenizer</code></a></dt>
165 <dd>A CSS tokenizer. (See also <a href="#demo-css-parser">demo</a>.)</dd>
166 </dl>
167
168 <p>For the <code>Whatpm::CSS::Parser</code> module reresenting a CSSOM
169 tree, modules in the <a
170 href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
171 package are used. Those modules also provide the serializer for the
172 CSSOM tree, in the form of <a href="#howtouse">the standard
173 <code>css_text</code> CSSOM attribute</a>.
174
175 </div>
176
177 <div class=section id=modules-http>
178 <h3>Modules for HTTP</h3>
179
180 <p>Modules for HTTP and related technologies are as follows:
181 <dl>
182 <dt><a href="Whatpm/ContentType.html"><code>Whatpm::ContentType</code></a></dt>
183 <dd>An implementation of HTML5 Content Type sniffing algorithm.</dd>
184 <dt><a href="Whatpm/IMTChecker.html"><code>Whatpm::IMTChecker</code></a></dt>
185 <dd>An Internet Media Type (<abbr>aka</abbr> MIME type) label
186 conformance checker.</dd>
187 </dl>
188
189 <p>Currently, support for parsing of HTTP headers and as such is not
190 yet available.
191 </div>
192
193 <div class=section id=modules-url>
194 <h3>Module for URL</h3>
195
196 <p>Module for the URL support is as follows:
197 <dl>
198 <dt><a href="Whatpm/URIChecker.html"><code>Whatpm::URIChecker</code></a></dt>
199 <dd>An IRI reference conformance checker.</dd>
200 </dl>
201
202 <p>Support for HTML5's realistic definition of URL is not available yet.
203 </div>
204
205 <div class=section id=modules-misc>
206 <h3>Modules for other technologies</h3>
207
208 <p>Following modules provide support for other Web-related technologies:
209 <dl>
210 <dt><a href="Whatpm/CacheManifest.html"><code>Whatpm::CacheManifest</code></a></dt>
211 <dd>An
212 <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5
213 cache manifest</a> parser.</dd>
214 <dt><a href="Whatpm/Charset/DecodeHandle.html"><code>Whatpm::Charset::DecodeHandle</code></a>
215 <dd>A filehandle-like wrapper <a href="#doc-handles">interface</a> to
216 decode byte stream encoded in some character encoding.
217 <dt><a href="Whatpm/Charset/UnicodeChecker.html"><code>Whatpm::Charset::UnicodeChecker</code></a>
218 <dd>A Unicode character string checker.
219 <dt id=whatpm-charset-universalchardet><a href="Whatpm/Charset/UniversalCharDet.html"><code>Whatpm::Charset::UniversalCharDet</code></a></dt>
220 <dd>A Perl interface to universalchardet character encoding detection
221 library.</dd>
222 <dt><a href="Whatpm/LangTag.html"><code>Whatpm::LangTag</code></a>
223 <dd>A language tag parser and conformance checker, supporting both
224 older RFC 3066 definition and latest RFC 4646 definition. (See also
225 <a href="#demo-langtag">demo</a>.)
226
227 <dt><a href="Whatpm/RDFXML.html"><code>Whatpm::RDFXML</code></a>
228 <dd>An implementation of RDF/XML by which RDF triples can be extracted
229 from RDF/XML documents.
230
231 <dt><a href="Whatpm/WebIDL.html"><code>Whatpm::WebIDL</code></a></dt>
232 <dd>A WebIDL fragment parser. It parses an IDL fragment, whether conforming
233 or not, and constructs a DOM-like object model for further processing.
234 Non-conforming (or broken) IDL fragment-like string will be parsed using
235 CSS-like error-tolerant parsing rules, e.g. ignoring anything until next
236 <code>;</code> character.
237 </dl>
238 </div>
239
240 <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and
241 Whatpm::XMLParser are intentionally omitted from the list. -->
242
243 <div class=section id=howtouse>
244 <h3>How to use modules</h3>
245
246 <p><a href="#modules">Modules</a> listed above, which are included in
247 the Whatpm package, can be used by directly <code>use</code>ing or
248 <code>require</code>ing these modules and then invoking their native
249 interface. For more information on those native interfaces, see the
250 document of those modules and the source code of them.
251
252 <p>In addition, some of functionality provided by those modules can be
253 accessed via standardized DOM interfaces implemented by modules
254 included in the <a
255 href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
256 package. See the document of the module <a
257 href="http://suika.fam.cx/www/manakai-core/lib/Message/DOM/DOMImplementation.html"><code>Message::DOM::DOMImplementation</code></a>
258 for the way to access to the DOM interfaces.
259
260 <p>The table below summarizes the relationship between Whatpm modules
261 and DOM methods/attributes implemented by manakai-core modules:
262
263 <table>
264 <thead>
265 <tr><th scope=col>Whatpm module
266 <th scope=col>DOM methods/attributes
267
268 <tbody>
269
270 <tr><td><code>Whatpm::CSS::Cascade</code>
271 <td><code>get_computed_style</code> (<code>ViewCSS</code>),
272 <code>current_style</code> (<code>ElementCSS</code>)
273
274 <tr><td><code>Whatpm::CSS::Parser</code>
275 <td rowspan=2><code>CSSStyleDeclaration</code>'s attributes and methods,
276 <code>css_text</code> (CSSOM interfaces)
277
278 <tr><td><code>Whatpm::CSS::Serializer</code>
279
280 <tr><td rowspan=2><code>Whatpm::CSS::SelectorsParser</code>
281 <td><code>query_selector</code>, <code>query_selector_all</code>
282 (<code>DocumentSelector</code>, <code>ElementSelector</code>)
283 <tr><td rowspan=2><code>selector_text</code> (<code>CSSStyleRule</code>)
284
285 <tr><td><code>Whatpm::CSS::SelectorsSerializer</code>
286
287 <tr><td><code>Whatpm::HTML</code>
288 <td rowspan=4><code>inner_html</code> (<code>HTMLDocument</code>,
289 <code>Element</code>)
290
291 <tr><td><code>Whatpm::HTML::Serializer</code>
292
293 <tr><td><code>Whatpm::XML::Parser</code>
294
295 <tr><td><code>Whatpm::XMLSerializer</code>
296
297 </table>
298
299 </div>
300
301 </div>
302
303 <div class=section id=documents>
304 <h2>Documents</h2>
305
306 <p>For the description of functionalities provided by each module, see
307 <abbr>pod</abbr> documentation of the module. HTML version of
308 <abbr>pod</abbr> documentations are linked from the <a
309 href="#modules">list of modules above</a>.
310
311 <p>In addition, there are additional documents for some topics:
312 <dl>
313
314 <dt><a href="http://suika.fam.cx/gate/2007/html/standards">Standards
315 supported by WebHACC</a>
316
317 <dd>List and description of Web standards supported by the WebHACC
318 conformance checker. Although it is a documentation for the WebHACC,
319 it is also applicable to Whatpm in general (note that WebHACC is an
320 interactive user interface for the conformance checking feature
321 provided by Whatpm).
322
323 <dt><a href="http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types">List of error types</a></dt>
324 <!-- @@ TODO: Need to update the link - the document above is out of date -->
325 <dd>Description of errors to be notified to callback functions by Whatpm
326 modules.</dd>
327
328 <dt><a href="Whatpm/CSS/selectors-object">Selectors object</a></dt>
329 <dd>Description of data structure for Selectors, as implemented by
330 <a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a>
331 (as output), and
332 <a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a>
333 (as input)<!--, and
334 <a href="http://suika.fam.cx/www/manakai-core/lib/Message/DOM/SelectorsAPI.html"><code>Message::DOM::SelectorsAPI</code></a>-->.</dd>
335
336 <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>
337 <dd>List of user data names defined by Whatpm modules.</dd>
338
339 <dt id=doc-handles><a href="Whatpm/Charset/handles">Handle objects</a>
340 <dd>Description of character or byte stream input handle interfaces.
341 </dl>
342
343 <p>Following specifications define Whatpm-specific formats and extensions:
344 <dl id=spec>
345 <dt id=spec-ssft><a href="http://suika.fam.cx/www/markup/selectors/ssft/ssft"><abbr title="Selectors Serialization Format for Testing">SSFT</abbr>
346 Specification</a></dt>
347 <dd>The specification for the serialization format used for
348 testing Selectors-related modules.</dd>
349
350 <dt><a href="http://suika.fam.cx/gate/2005/sw/manakai/CSS%20Extensions">manakai's
351 CSS extensions</a>
352 <dd>The specification for <code>-manakai-<var>*</var></code> properties
353 and property values implemented by CSS-related modules.
354 <dt id=spec-manakai-selectors><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's
355 Selectors extensions</a>
356 <dd>The specification for <code>:-manakai-<var>*</var></code>
357 pseudo-classes implemented by Selectors-related modules.</dd>
358 </dl>
359 </div>
360
361 <div class="section" id="demo">
362 <h2>Demo</h2>
363
364 <ul id=demo-html-parser>
365 <li id=demo-html-parser-nanodom><a href="http://suika.fam.cx/gate/2007/html/parser-interface">HTML5 parser
366 and checker demo</a>
367 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/parser.cgi">source</a>,
368 with <a href="Whatpm/NanoDOM.html">a lightweight non-conforming
369 DOM implementation</a>)</li>
370 <li id=demo-html-parser-manakai><a href="http://suika.fam.cx/gate/2007/html/parser-manakai-interface">HTML5
371 parser and checker demo, with manakai's DOM implementation</a>
372 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/parser-manakai.cgi">source</a>)</li>
373 <li id=demo-html-table><a href="http://suika.fam.cx/gate/2007/html/table-interface">HTML5 table
374 structure visualization demo</a>
375 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/table.cgi">source</a>)</li>
376
377 <li id=demo-css-parser><a href="http://suika.fam.cx/gate/2007/css/parser-interface">CSS
378 tokenizer, parser, and computed style computation demo</a>
379 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/css/parser.cgi">source</a>)</li>
380
381 <li id=demo-langtag><a href="http://suika.fam.cx/gate/2007/langtag/langtag-demo-interface">Language
382 tag parsing and conformance checking demo</a>
383 (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/langtag/langtag-demo.cgi">source</a>)
384 </ul>
385 </div>
386
387 <div class=section id=applications>
388 <h2>Applications</h2>
389
390 <ul>
391
392 <li id=app-webhacc><a
393 href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr>
394 (Web hypertext application conformance checker)</a> (See also <a
395 href="http://suika.fam.cx/gate/2007/html/cc-about"><cite>about
396 WebHACC</cite></a>).
397
398 <li><a href="http://suika.fam.cx/www/webidl2tests/readme">wttjs</a>, a
399 WebIDL ECMAScript binding test suite generator.
400
401 </ul>
402 </div>
403
404 <div class="section" id="dependency">
405 <h2>Dependency</h2>
406
407 <dl>
408 <dt id=dependency-perl>Perl 5.8 or later</dt>
409 <dd>It is recommended to use newer stable release of Perl 5.8 (or
410 later).</dd>
411 <dd id=dependency-encode>Some modules require <code>Encode</code>
412 modules, which are part of standard Perl distribution.</dd>
413 <dt id=dependency-manakai-core>Modules from
414 <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a></dt>
415 <dd>
416 <dl>
417 <dt id=dependency-error><a href="http://search.cpan.org/author/SHLOMIF/Error-0.17009/lib/Error.pm"><code>Error</code></a></dt>
418 <dd>Module <code>Whatpm::HTML</code> requires <code>Error</code>,
419 which is bundled in
420 <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
421 <dt><code>Message::IMT::InternetMediaType</code></dt>
422 <dd>Module <code>Whatpm::IMTChecker</code> depends on
423 <code>Message::IMT::InternetMediaType</code>, which is part of
424 <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
425 <dt><code>Message::URI::URIReference</code></dt>
426 <dd>Modules <code>Whatpm::URIChecker</code> and
427 <code>Whatpm::CacheManifest</code> depend on
428 <a href="http://suika.fam.cx/www/manakai-core/lib/Message/URI/URIReference.html"><code>Message::URI::URIReference</code></a>,
429 which is part of
430 <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
431 <dt><code>Message::Charset::Info</code></dt>
432 <dd>Module <code>Whatpm::ContentChecker</code> depends on
433 <a href="http://suika.fam.cx/www/manakai-core/lib/Message/Charset/Info.html"><code>Message::Charset::Info</code></a>,
434 which is part of
435 <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
436 <dt><code>Message::DOM::DOMImplementation</code>
437 <dd>Module <code>Whatpm::URIChecker</code> depends on
438 <code>Message::DOM::DOMImplementation</code>,
439 which is part of
440 <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
441 <dt><code>Message::DOM::DOMImplementation</code> and related modules</dt>
442 <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>
443 depends on <code>Message::DOM::DOMImplementation</code> and related modules
444 in <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
445 They are not required for any practical use of those modules.
446 </dl>
447 </dd>
448 <dt><a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
449 charlib</a></dt>
450 <dd>Module <code>Whatpm::Charset::DecodeHandle</code> depends on
451 modules in <a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
452 charlib</a> for decoding of <em>Japanese character encodings</em>.
453 See the documentation for
454 <a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
455 charlib</a> for more information.</dd>
456 <dt><a href="http://www.python.org/">Python</a>, Perl
457 <a href="http://search.cpan.org/~neilw/Inline-Python-0.22/"><code>Inline::Python</code></a>
458 module, and <a href="http://chardet.feedparser.org/">Universal Encoding
459 Detector</a></dt>
460 <dd>For the module <code>Whatpm::Charset::UniversalCharDet</code> being
461 meaningful, these softwares are required on the system. See the
462 <a href="Whatpm/Charset/UniversalCharDet.html#dependency">documentation</a>
463 for more information.</dd>
464 <dt><a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code></a></dt>
465 <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and
466 <code>Whatpm::CSS::Tokenizer</code>
467 depends on <a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code> and related modules</a>.
468 They are not required for any practical use of those modules.
469 </dl>
470 </div>
471
472 <div class="section" id="download">
473 <h2>Distribution</h2>
474
475 <p>The development version of Whatpm may be found in the
476 <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS
477 repository</a>.</p>
478
479 <p><a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/whatpm.tar.gz?tarball=1">The
480 latest developmenet version of the Whatpm</a> is also available as a
481 tarball.
482
483 </div>
484
485 <div class="section" id="todo">
486 <h2>TO DO</h2>
487
488 <ul>
489 <li>Bug fix (Test results:
490 <a href="t/content-type-result"><code>Whatpm::ContentType</code></a>,
491 <a href="t/tokenizer-result">HTML tokenization</a>,
492 <a href="t/tree-construction-result">HTML tree construction</a>,
493 <a href="t/content-checker-result"><code>Whatpm::ContentChecker</code></a>).</li>
494 <li>Merge with the <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>
495 code tree.
496 <li>Charset detection.</li>
497 <li>Validation for <code>meta</code>.</li>
498 <li>Validation for media queries (level 3), IRIs (against URI schemes),
499 and so on.</li>
500 <li>Documentations are missing for some features.</li>
501 <li>In addition, each module has its own TO DO items.
502 (Search for <q>## TODO</q> and <q>## ISSUE</q> in each module.)</li>
503 </ul>
504 </div>
505
506 <div class=section id=acknowledgments>
507 <h2>Acknowledgments</h2>
508
509 <p>Thanks to the <a href="http://code.google.com/p/html5lib/">html5lib</a>
510 team for their
511 <a href="http://html5lib.googlecode.com/svn/trunk/testdata/">HTML5
512 parser test data</a>.</p>
513 </div>
514
515 <div class="section" id="author">
516 <h2>Author</h2>
517
518 <p><a href="http://suika.fam.cx/~wakaba/who?" rel="author">Wakaba</a>.</p>
519 </div>
520
521 <div class="section" id="license">
522 <h2>License</h2>
523
524 <p>Copyright 2007$B!>(B2008 Wakaba
525 <code class="mail">&lt;<a href="mailto:w@suika.fam.cx"
526 rel="author">w@suika.fam.cx</a>></code>.</p>
527
528 <p>This library is free software; you can redistribute it and/or modify
529 it under the same terms as Perl itself.</p>
530 </div>
531
532 </body>
533 </html>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24