/[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.15 by wakaba, Sun Nov 4 11:49:44 2007 UTC revision 1.32 by wakaba, Mon Nov 24 07:12:16 2008 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 <m>P</m>erl  <p><dfn>Whatpm</dfn> is a <em>work-in-progress</em> set of
20  <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
21  <m>t</m>echnologies.  It is part  <mark>h</mark>ypertext <mark>a</mark>pplication
22  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
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><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>  <dl>
61  <dt>Modules</dt>  <dt id=module-whatpm-html><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt>
62  <dd><dl>    <dd>An implementation of HTML5 document and fragment
63  <dt><a href="Whatpm/CacheManifest.html"><code>Whatpm::CacheManifest</code></a></dt>    parsing algorithms.  It can be used
64    <dd>An    to convert an arbitrary string into a
65    <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5    <abbr title="Document Object Model">DOM</abbr>.  (See also
66    cache manifest</a> parser.</dd>    <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>  <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    <dd>A DOM5 HTML (in-memory representation of a document) conformance
115    checker with a partial support for Atom 1.0.  (See also  checker with a partial support for Atom 1.0.  (See also <a
116    <a href="#demo-html-parser">demo</a>.)</dd>  href="#demo-html-parser">demo</a> and <a
117  <dt><a href="Whatpm/ContentType.html"><code>Whatpm::ContentType</code></a></dt>  href="#app-webhacc">application</a>.)
118    <dd>An implementation of HTML5 Content Type sniffing algorithm.</dd>  
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>  <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    <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>    selectors</a> parser.  (See also <a href="#demo-css-parser">demo</a>.)</dd>
# Line 41  project.</p> Line 163  project.</p>
163    and <a href="#demo-css-parser">demo</a>.)</dd>    and <a href="#demo-css-parser">demo</a>.)</dd>
164  <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>
165    <dd>A CSS tokenizer.  (See also <a href="#demo-css-parser">demo</a>.)</dd>    <dd>A CSS tokenizer.  (See also <a href="#demo-css-parser">demo</a>.)</dd>
166  <dt><a href="Whatpm/HTML.html"><code>Whatpm::HTML</code></a></dt>  </dl>
167    <dd>An implementation of HTML5 document parsing, fragment  
168    parsing, and fragment serialization algorithms.  It can be used  <p>For the <code>Whatpm::CSS::Parser</code> module reresenting a CSSOM
169    to convert a string into a <abbr title="Document Object Model">DOM</abbr>, or  tree, modules in the <a
170    <i lang="">vice versa</i>.  (See also  href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
171    <a href="#demo-html-parser">demo</a>.)</dd>  package are used.  Those modules also provide the serializer for the
172  <dt><a href="Whatpm/HTMLTable.html"><code>Whatpm::HTMLTable</code></a></dt>  CSSOM tree, in the form of <a href="#howtouse">the standard
173    <dd>An implementation of the HTML5 table algorithm.  It can be  <code>css_text</code> CSSOM attribute</a>.
174    used to extract a table structure from a DOM <code>table</code>  
175    element node.  (See also <a href="#demo-html-table">demo</a>.)</dd>  </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>  <dt><a href="Whatpm/IMTChecker.html"><code>Whatpm::IMTChecker</code></a></dt>
185    <dd>An Internet Media Type (<abbr>aka</abbr> MIME type) label    <dd>An Internet Media Type (<abbr>aka</abbr> MIME type) label
186    conformance checker.</dd>    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>  <dt><a href="Whatpm/URIChecker.html"><code>Whatpm::URIChecker</code></a></dt>
199    <dd>An IRI reference conformance checker.</dd>    <dd>An IRI reference conformance checker.</dd>
200  <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt>  </dl>
   <dd>A simple XML serializer.</dd>  
   </dl>  
201    
202    <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.
203    and have <a href="#todo">a number of unresolved problems</a>.</p>  </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    
   <p>Note also that some modules have no documentation for now.</p>  
   </dd>  
 <dt id=spec>Specification</dt>  
   <dd><dl>  
     <dt id=spec-ssft><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>  
     <dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's  
     Selectors Extensions</a></dt>  
       <dd>The specification for <code>:-manakai-<var>*</var></code>  
       pseudo-classes implemented by Selectors-related modules.</dd>  
   </dl></dd>  
 <dt>Documentations</dt>  
   <dd><dl>  
323  <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>
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    <dd>Description of errors to be notified to callback functions by Whatpm
326    modules.</dd>    modules.</dd>
327      </dd>  
328      <dt><a href="Whatpm/CSS/selectors-object">Selectors object</a></dt>  <dt><a href="Whatpm/CSS/selectors-object">Selectors object</a></dt>
329        <dd>Description of data structure of Selectors object as used by    <dd>Description of data structure for Selectors, as implemented by
330        <a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a>    <a href="Whatpm/CSS/SelectorsParser.html"><code>Whatpm::CSS::SelectorsParser</code></a>
331        (as output), and    (as output), and
332        <a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a>    <a href="Whatpm/CSS/SelectorsSerializer.html"><code>Whatpm::CSS::SelectorsSerializer</code></a>
333        (as input)<!--, and    (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>    <a href="http://suika.fam.cx/www/manakai-core/lib/Message/DOM/SelectorsAPI.html"><code>Message::DOM::SelectorsAPI</code></a>-->.</dd>
335      </dl>  
336    </dd>  <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>  </dl>
359  </div>  </div>
360    
361  <div class="section" id="demo">  <div class="section" id="demo">
362  <h2>Demo</h2>  <h2>Demo</h2>
363    
364  <ul>  <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  <li id=demo-html-parser-nanodom><a href="http://suika.fam.cx/gate/2007/html/parser-interface">HTML5 parser
366  and checker demo</a>  and checker demo</a>
367  (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/parser.cgi">source</a>,  (<a href="http://suika.fam.cx/gate/cvs/*checkout*/webroot/gate/2007/html/parser.cgi">source</a>,
# Line 109  parser and checker demo, with manakai's Line 373  parser and checker demo, with manakai's
373  <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
374  structure visualization demo</a>  structure visualization demo</a>
375  (<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>
376  <li id=demo-css-parser><a href="http://suika.fam.cx/gate/2007/css/parser-interface">CSS tokenizer  
377  demo</a>  <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>  (<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>  </ul>
385  </div>  </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    
403    <p>See also <a
404    href="http://suika.fam.cx/www/manakai-core/doc/web/#applications">a
405    list of applications using modules in the manakai-core package</a>;
406    some of them indirectly use Whatpm modules from DOM interfaces
407    provided by <a
408    href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>.
409    
410    </div>
411    
412  <div class="section" id="dependency">  <div class="section" id="dependency">
413  <h2>Dependency</h2>  <h2>Dependency</h2>
414    
415  <dl>  <dl>
416  <dt>Perl 5.8 or later</dt>  <dt id=dependency-perl>Perl 5.8 or later</dt>
417    <dd>It is recommended to use newer stable release of Perl 5.8 (or    <dd>It is recommended to use newer stable release of Perl 5.8 (or
418    later).</dd>    later).</dd>
419      <dd id=dependency-encode>Some modules require <code>Encode</code>
420      modules, which are part of standard Perl distribution.</dd>
421    <dt id=dependency-manakai-core>Modules from
422    <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a></dt>
423      <dd>
424        <dl>
425    <dt id=dependency-error><a href="http://search.cpan.org/author/SHLOMIF/Error-0.17009/lib/Error.pm"><code>Error</code></a></dt>
426      <dd>Module <code>Whatpm::HTML</code> requires <code>Error</code>,
427      which is bundled in
428      <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
429  <dt><code>Message::IMT::InternetMediaType</code></dt>  <dt><code>Message::IMT::InternetMediaType</code></dt>
430    <dd>Module <code>Whatpm::IMTChecker</code> depends on    <dd>Module <code>Whatpm::IMTChecker</code> depends on
431    <code>Message::IMT::InternetMediaType</code>, which is part of    <code>Message::IMT::InternetMediaType</code>, which is part of
432    <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>
433  <dt><code>Message::URI::URIReference</code></dt>  <dt><code>Message::URI::URIReference</code></dt>
434    <dd>Modules <code>Whatpm::URIChecker</code> and    <dd>Modules <code>Whatpm::URIChecker</code> and
435    <code>Whatpm::CacheManifest</code> depend on    <code>Whatpm::CacheManifest</code> depend on
436    <a href="http://suika.fam.cx/www/manakai-core/lib/Message/URI/URIReference.html"><code>Message::URI::URIReference</code></a>,    <a href="http://suika.fam.cx/www/manakai-core/lib/Message/URI/URIReference.html"><code>Message::URI::URIReference</code></a>,
437    which is part of    which is part of
438    <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>
439      <dt><code>Message::Charset::Info</code></dt>
440        <dd>Module <code>Whatpm::ContentChecker</code> depends on
441        <a href="http://suika.fam.cx/www/manakai-core/lib/Message/Charset/Info.html"><code>Message::Charset::Info</code></a>,
442        which is part of
443        <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.</dd>
444    <dt><code>Message::DOM::DOMImplementation</code>
445      <dd>Module <code>Whatpm::URIChecker</code> depends on
446      <code>Message::DOM::DOMImplementation</code>,
447        which is part of
448        <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
449    <dt><code>Message::DOM::DOMImplementation</code> and related modules</dt>
450      <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>
451      depends on <code>Message::DOM::DOMImplementation</code> and related modules
452      in <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
453      They are not required for any practical use of those modules.
454        </dl>
455      </dd>
456  <dt><a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai  <dt><a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
457  charlib</a></dt>  charlib</a></dt>
458    <dd>Module <code>Whatpm::Charset::DeocdeHandle</code> depends on    <dd>Module <code>Whatpm::Charset::DecodeHandle</code> depends on
459    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
460    charlib</a> for decoding of <em>Japanese character encodings</em>.    charlib</a> for decoding of <em>Japanese character encodings</em>.
461    See the documentation for    See the documentation for
462    <a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai    <a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai
463    charlib</a> for more information.</dd>    charlib</a> for more information.</dd>
464  <dt><code>Message::DOM::DOMImplementation</code> and related modules</dt>  <dt><a href="http://www.python.org/">Python</a>, Perl
465    <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>  <a href="http://search.cpan.org/~neilw/Inline-Python-0.22/"><code>Inline::Python</code></a>
466    depends on <code>Message::DOM::DOMImplementation</code> and related modules  module, and <a href="http://chardet.feedparser.org/">Universal Encoding
467    in <a href="http://suika.fam.cx/www/2006/manakai/">manakai</a>.  Detector</a></dt>
468    They are not required in practice.</dd>    <dd>For the module <code>Whatpm::Charset::UniversalCharDet</code> being
469      meaningful, these softwares are required on the system.  See the
470      <a href="Whatpm/Charset/UniversalCharDet.html#dependency">documentation</a>
471      for more information.</dd>
472  <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>
473    <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and    <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and
474    <code>Whatpm::CSS::Tokenizer</code>    <code>Whatpm::CSS::Tokenizer</code>
475    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>.
476    They are not required in practice.</dd>    They are not required for any practical use of those modules.
477  </dl>  </dl>
478  </div>  </div>
479    
# Line 160  charlib</a></dt> Line 484  charlib</a></dt>
484  <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS  <a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/">CVS
485  repository</a>.</p>  repository</a>.</p>
486    
487    <p><a href="http://suika.fam.cx/gate/cvs/markup/html/whatpm/whatpm.tar.gz?tarball=1">The
488    latest developmenet version of the Whatpm</a> is also available as a
489    tarball.
490    
491  </div>  </div>
492    
493  <div class="section" id="todo">  <div class="section" id="todo">
# Line 171  repository</a>.</p> Line 499  repository</a>.</p>
499      <a href="t/tokenizer-result">HTML tokenization</a>,      <a href="t/tokenizer-result">HTML tokenization</a>,
500      <a href="t/tree-construction-result">HTML tree construction</a>,      <a href="t/tree-construction-result">HTML tree construction</a>,
501      <a href="t/content-checker-result"><code>Whatpm::ContentChecker</code></a>).</li>      <a href="t/content-checker-result"><code>Whatpm::ContentChecker</code></a>).</li>
502      <li>Merge with the <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>
503          code tree.
504    <li>Charset detection.</li>    <li>Charset detection.</li>
505    <li>Validation for <code>meta</code>.</li>    <li>Validation for <code>meta</code>.</li>
506    <li>Validation for media queries, IRIs (against URI schemes), language tags,    <li>Validation for media queries (level 3), IRIs (against URI schemes),
507      and so on.</li>      and so on.</li>
508    <li>Documentations are missing for some features.</li>    <li>Documentations are missing for some features.</li>
   <li>XML parser<!-- with application cache selection algorithm hook-->.</li>  
509    <li>In addition, each module has its own TO DO items.    <li>In addition, each module has its own TO DO items.
510      (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>
511  </ul>  </ul>
# Line 186  repository</a>.</p> Line 515  repository</a>.</p>
515  <h2>Acknowledgments</h2>  <h2>Acknowledgments</h2>
516    
517  <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>
518  team for <a href="http://html5lib.googlecode.com/svn/trunk/testdata/">HTML5  team for their
519    <a href="http://html5lib.googlecode.com/svn/trunk/testdata/">HTML5
520  parser test data</a>.</p>  parser test data</a>.</p>
521  </div>  </div>
522    
# Line 199  parser test data</a>.</p> Line 529  parser test data</a>.</p>
529  <div class="section" id="license">  <div class="section" id="license">
530  <h2>License</h2>  <h2>License</h2>
531    
532  <p>Copyright 2007 Wakaba  <p>Copyright 2007$B!>(B2008 Wakaba
533  <code class="mail">&lt;<a href="mailto:w@suika.fam.cx"  <code class="mail">&lt;<a href="mailto:w@suika.fam.cx"
534      rel="author">w@suika.fam.cx</a>></code>.</p>      rel="author">w@suika.fam.cx</a>></code>.</p>
535    

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.32

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24