/[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.27 by wakaba, Wed Sep 17 06:34:12 2008 UTC revision 1.31 by wakaba, Tue Oct 21 06:10:09 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 &mdash; Perl modules for Web hypertext application technologies  <h1>Whatpm &mdash; Perl modules for Web hypertext application technologies
# Line 27  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><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>  <div class=section id=modules>
49  <h2>Modules</h2>  <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>  <div class=section id=modules-html-xml>
57  <h3>Modules for HTML and XML</h3>  <h3>Modules for HTML and XML</h3>
58    
# Line 50  href="#modules-html">HTML, XHTML</a>, <a Line 73  href="#modules-html">HTML, XHTML</a>, <a
73    element node.  (See also <a href="#demo-html-table">demo</a>.)</dd>    element node.  (See also <a href="#demo-html-table">demo</a>.)</dd>
74  </dl>  </dl>
75    
76  <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:
77    
78  <dl>  <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>  <dt><a href="Whatpm/XMLSerializer.html"><code>Whatpm::XMLSerializer</code></a></dt>
   <dd>A simple XML serializer.</dd>  
 </dl>  
101    
102  <p><i>Real</i> XML parser and serializer are currently not available yet.  <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.  <p id=modules-cc>The module for conformance checking of a DOM tree (i.e.
109  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:
110  <dl>  <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    href="#app-webhacc">application</a>.)
118    
119  </dl>  </dl>
120    
121  <p>Currently, conformance checking of HTML/XHTML and Atom documents  <p>Currently, conformance checking of HTML/XHTML and Atom documents
122  is supported.  is supported.
123    
124  <p>For these modules, a DOM implementation that supports the manakai's  <p>For these modules, a DOM implementation that supports the manakai's
125  Perl binding<!-- @@ TODO: ref --> is necessary to represent a document  Perl binding<!-- @@ TODO: ref --> of DOM is necessary to represent a
126  in memory.  The <a  document in memory.  The <a
127  href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>  href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>
128  package contains such an implementation,  package contains such an implementation,
129  <code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it  <code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it
130  should also be possible to use any other implementation that supports  should also be possible to use any other implementation that supports
131  the binding.  the binding.
132    
133  </div>  </div>
134    
135  <div class=section id=modules-css>  <div class=section id=modules-css>
# Line 87  the binding. Line 139  the binding.
139  <dl>  <dl>
140  <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>
141    <dd>A media-independent implementation of CSS cascading and value    <dd>A media-independent implementation of CSS cascading and value
142    computation.  (See also <a href="#demo-css-parser">demo</a>.)    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>  <dt><a href="Whatpm/CSS/MediaQueryParser.pm"><code>Whatpm::CSS::MediaQueryParser</code></a>
145    <dd>A media query parser.  
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>  <dt><a href="Whatpm/CSS/MediaQuerySerializer.pm"><code>Whatpm::CSS::MediaQuerySerializer</code></a>
150    <dd>A media query serializer.  
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>  <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    <dd>A CSS parser that constructs CSSOM trees from style sheets.  (See
156    also <a href="#demo-css-parser">demo</a>.)    also <a href="#demo-css-parser">demo</a>.)
# Line 106  the binding. Line 165  the binding.
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  </dl>  </dl>
167    
168  <p>For the <code>Whatpm::CSS::Parser</code> module reresents a CSSOM  <p>For the <code>Whatpm::CSS::Parser</code> module reresenting a CSSOM
169  tree, modules in the <a  tree, modules in the <a
170  href="http://suika.fam.cx/www/manakai-core/doc/web/">manakai-core</a>  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  package are used.  Those modules also provide the serializer for the
172  CSSOM tree, as the standard <code>css_text</code> attribute.  CSSOM tree, in the form of <a href="#howtouse">the standard
173    <code>css_text</code> CSSOM attribute</a>.
174    
175  </div>  </div>
176    
177  <div class=section id=modules-http>  <div class=section id=modules-http>
# Line 162  yet available. Line 223  yet available.
223      <dd>A language tag parser and conformance checker, supporting both      <dd>A language tag parser and conformance checker, supporting both
224      older RFC 3066 definition and latest RFC 4646 definition.  (See also      older RFC 3066 definition and latest RFC 4646 definition.  (See also
225      <a href="#demo-langtag">demo</a>.)      <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>  <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    <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.    or not, and constructs a DOM-like object model for further processing.
# Line 171  yet available. Line 237  yet available.
237  </dl>  </dl>
238  </div>  </div>
239    
   <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>  
   
240  <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and  <!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and
241       Whatpm::XMLParser are intentionally omitted from the list. -->       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>  </div>
302    
303  <div class=section id=documents>  <div class=section id=documents>
# Line 190  href="#modules">list of modules above</a Line 310  href="#modules">list of modules above</a
310    
311  <p>In addition, there are additional documents for some topics:  <p>In addition, there are additional documents for some topics:
312  <dl>  <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>  <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 -->  <!-- @@ 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
# Line 217  Specification</a></dt> Line 347  Specification</a></dt>
347    <dd>The specification for the serialization format used for    <dd>The specification for the serialization format used for
348    testing Selectors-related modules.</dd>    testing Selectors-related modules.</dd>
349    
350  <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
351  Selectors Extensions</a></dt>  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>    <dd>The specification for <code>:-manakai-<var>*</var></code>
357    pseudo-classes implemented by Selectors-related modules.</dd>    pseudo-classes implemented by Selectors-related modules.</dd>
358  </dl>  </dl>
# Line 227  Selectors Extensions</a></dt> Line 361  Selectors Extensions</a></dt>
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 251  tag parsing and conformance checking dem Line 385  tag parsing and conformance checking dem
385  </div>  </div>
386    
387  <div class=section id=applications>  <div class=section id=applications>
388  <h2>Application</h2>  <h2>Applications</h2>
389    
390  <ul>  <ul>
391  <li><a href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr>  
392  (Web hypertext application conformance checker)</a>  <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>  </ul>
402  </div>  </div>
403    
# Line 300  tag parsing and conformance checking dem Line 442  tag parsing and conformance checking dem
442    <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>    <dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code>
443    depends on <code>Message::DOM::DOMImplementation</code> and related modules    depends on <code>Message::DOM::DOMImplementation</code> and related modules
444    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>.
445    They are not required in practice.</dd>    They are not required for any practical use of those modules.
446      </dl>      </dl>
447    </dd>    </dd>
448  <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 323  Detector</a></dt> Line 465  Detector</a></dt>
465    <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and    <dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and
466    <code>Whatpm::CSS::Tokenizer</code>    <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>.    depends on <a href="http://search.cpan.org/~makamaka/JSON-1.14/"><code>JSON</code> and related modules</a>.
468    They are not required in practice.</dd>    They are not required for any practical use of those modules.
469  </dl>  </dl>
470  </div>  </div>
471    
# Line 353  tarball. Line 495  tarball.
495        code tree.        code tree.
496    <li>Charset detection.</li>    <li>Charset detection.</li>
497    <li>Validation for <code>meta</code>.</li>    <li>Validation for <code>meta</code>.</li>
498    <li>Validation for media queries, IRIs (against URI schemes), language tags,    <li>Validation for media queries (level 3), IRIs (against URI schemes),
499      and so on.</li>      and so on.</li>
500    <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>  
501    <li>In addition, each module has its own TO DO items.    <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>      (Search for <q>## TODO</q> and <q>## ISSUE</q> in each module.)</li>
503  </ul>  </ul>

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.31

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24