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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.33

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24