/[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.26 by wakaba, Wed Sep 17 06:16:06 2008 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>
# Line 26  href="#modules-html">HTML, XHTML</a>, <a Line 29  href="#modules-html">HTML, XHTML</a>, <a
29  <a href="#modules-url">URL</a>.  <a href="#modules-url">URL</a>.
30  </div>  </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>  <div class=section id=modules>
52  <h2>Modules</h2>  <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>  <div class=section id=modules-html-xml>
60  <h3>Modules for HTML and XML</h3>  <h3>Modules for HTML and XML</h3>
61    
# Line 49  href="#modules-html">HTML, XHTML</a>, <a Line 76  href="#modules-html">HTML, XHTML</a>, <a
76    element node.  (See also <a href="#demo-html-table">demo</a>.)</dd>    element node.  (See also <a href="#demo-html-table">demo</a>.)</dd>
77  </dl>  </dl>
78    
79  <p id=modules-xml>The module for <i>tentative</i> XML support is as follow:  <p id=modules-xml>Modules for the XML support is as follow:
80    
81  <dl>  <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>  <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt>
   <dd>A simple XML serializer.</dd>  
 </dl>  
104    
105  <p><i>Real</i> XML parser and serializer are currently not available yet.  <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.  <p id=modules-cc>The module for conformance checking of a DOM tree (i.e.
112  a in-memory representation of a HTML or XML document) is as follows:  a in-memory representation of an HTML or XML document) is as follows:
113  <dl>  <dl>
114    
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.  (See also  checker with a partial support for Atom 1.0.  (See also <a
119    <a href="#demo-html-parser">demo</a>.)</dd>  href="#demo-html-parser">demo</a> and <a
120    href="#app-webhacc">application</a>.)
121    
122  </dl>  </dl>
123    
124  <p>Currently, conformance checking of HTML/XHTML and Atom documents  <p>For these modules, a DOM implementation that supports <a
125  is supported.  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>  </div>
135    
136  <div class=section id=modules-css>  <div class=section id=modules-css>
# Line 77  is supported. Line 140  is supported.
140  <dl>  <dl>
141  <dt><a href="Whatpm/CSS/Cascade.html"><code>Whatpm::CSS::Cascade</code></a>  <dt><a href="Whatpm/CSS/Cascade.html"><code>Whatpm::CSS::Cascade</code></a>
142    <dd>A media-independent implementation of CSS cascading and value    <dd>A media-independent implementation of CSS cascading and value
143    computation.  (See also <a href="#demo-css-parser">demo</a>.)    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>  <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    <dd>A CSS parser that constructs CSSOM trees from style sheets.  (See
157    also <a href="#demo-css-parser">demo</a>.)    also <a href="#demo-css-parser">demo</a>.)
# Line 91  is supported. Line 165  is supported.
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.  (See also <a href="#demo-css-parser">demo</a>.)</dd>    <dd>A CSS tokenizer.  (See also <a href="#demo-css-parser">demo</a>.)</dd>
167  </dl>  </dl>
168    
169    <p>For the <code>Whatpm::CSS::Parser</code> module reresenting a CSSOM
170    tree, modules in the <a
171    href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
172    package are used.  Those modules also provide the serializer for the
173    CSSOM tree, in the form of <a href="#howtouse">the standard
174    <code>css_text</code> CSSOM attribute</a>.
175    
176  </div>  </div>
177    
178  <div class=section id=modules-http>  <div class=section id=modules-http>
# Line 130  yet available. Line 212  yet available.
212    <dd>An    <dd>An
213    <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5    <a href="http://www.whatwg.org/specs/web-apps/current-work/#manifests">HTML5
214    cache manifest</a> parser.</dd>    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>  <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    <dd>A Perl interface to universalchardet character encoding detection
222    library.</dd>    library.</dd>
# Line 137  yet available. Line 224  yet available.
224      <dd>A language tag parser and conformance checker, supporting both      <dd>A language tag parser and conformance checker, supporting both
225      older RFC 3066 definition and latest RFC 4646 definition.  (See also      older RFC 3066 definition and latest RFC 4646 definition.  (See also
226      <a href="#demo-langtag">demo</a>.)      <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>  <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    <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.    or not, and constructs a DOM-like object model for further processing.
# Line 146  yet available. Line 238  yet available.
238  </dl>  </dl>
239  </div>  </div>
240    
   <p>Note that all of these modules are <em>work in progress</em>  
   and have <a href="#todo">a number of unresolved problems</a>.</p>  
   
   <p>Note also that some modules have no documentation for now.</p>  
   
241  <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and  <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and
242       Whatpm::XMLParser are intentionally omitted from the list. -->       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>  </div>
303    
304  <div class=section id=documents>  <div class=section id=documents>
# Line 165  href="#modules">list of modules above</a Line 311  href="#modules">list of modules above</a
311    
312  <p>In addition, there are additional documents for some topics:  <p>In addition, there are additional documents for some topics:
313  <dl>  <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    
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 -->  <!-- @@ 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
# Line 192  Specification</a></dt> Line 348  Specification</a></dt>
348    <dd>The specification for the serialization format used for    <dd>The specification for the serialization format used for
349    testing Selectors-related modules.</dd>    testing Selectors-related modules.</dd>
350    
351  <dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's  <dt><a href="http://suika.fam.cx/gate/2005/sw/manakai/CSS%20Extensions">manakai's
352  Selectors Extensions</a></dt>  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>    <dd>The specification for <code>:-manakai-<var>*</var></code>
358    pseudo-classes implemented by Selectors-related modules.</dd>    pseudo-classes implemented by Selectors-related modules.</dd>
359  </dl>  </dl>
# Line 202  Selectors Extensions</a></dt> Line 362  Selectors Extensions</a></dt>
362  <div class="section" id="demo">  <div class="section" id="demo">
363  <h2>Demo</h2>  <h2>Demo</h2>
364    
365  <ul>  <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  <li id=demo-html-parser-nanodom><a href="http://suika.fam.cx/gate/2007/html/parser-interface">HTML5 parser
367  and checker demo</a>  and checker demo</a>
368  (<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 226  tag parsing and conformance checking dem Line 386  tag parsing and conformance checking dem
386  </div>  </div>
387    
388  <div class=section id=applications>  <div class=section id=applications>
389  <h2>Application</h2>  <h2>Applications</h2>
390    
391  <ul>  <ul>
392  <li><a href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr>  
393  (Web hypertext application conformance checker)</a>  <li id=app-webhacc><a
394    href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr>
395    (Web hypertext application conformance checker)</a> (See also <a
396    href="http://suika.fam.cx/gate/2007/html/cc-about"><cite>about
397    WebHACC</cite></a>).
398    
399    <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">
# Line 275  tag parsing and conformance checking dem Line 451  tag parsing and conformance checking dem
451    <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>    <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>
452    depends on <code>Message::DOM::DOMImplementation</code> and related modules    depends on <code>Message::DOM::DOMImplementation</code> and related modules
453    in <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.    in <a href="http://suika.fam.cx/www/2006/manakai/">manakai-core</a>.
454    They are not required in practice.</dd>    They are not required for any practical use of those modules.
455      </dl>      </dl>
456    </dd>    </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
# Line 298  Detector</a></dt> Line 474  Detector</a></dt>
474    <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and    <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and
475    <code>Whatpm::CSS::Tokenizer</code>    <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 328  tarball. Line 504  tarball.
504        code tree.        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>XML parser<!-- with application cache selection algorithm hook-->.</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>
# Line 355  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$B!>(B2008 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.26  
changed lines
  Added in v.1.33

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24