30 |
<div class=section id=modules> |
<div class=section id=modules> |
31 |
<h2>Modules</h2> |
<h2>Modules</h2> |
32 |
|
|
33 |
|
<p>Note that all of these modules are <em>work in progress</em> |
34 |
|
and have <a href="#todo">a number of unresolved problems</a>.</p> |
35 |
|
|
36 |
|
<p>Note also that some modules have no documentation for now.</p> |
37 |
|
|
38 |
<div class=section id=modules-html-xml> |
<div class=section id=modules-html-xml> |
39 |
<h3>Modules for HTML and XML</h3> |
<h3>Modules for HTML and XML</h3> |
40 |
|
|
64 |
<p><i>Real</i> XML parser and serializer are currently not available yet. |
<p><i>Real</i> XML parser and serializer are currently not available yet. |
65 |
|
|
66 |
<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. |
67 |
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: |
68 |
<dl> |
<dl> |
69 |
|
|
70 |
<dt><a href="Whatpm/ContentChecker.html"><code>Whatpm::ContentChecker</code></a></dt> |
<dt><a href="Whatpm/ContentChecker.html"><code>Whatpm::ContentChecker</code></a></dt> |
71 |
|
|
72 |
<dd>A DOM5 HTML (in-memory representation of a document) conformance |
<dd>A DOM5 HTML (in-memory representation of a document) conformance |
73 |
checker with a partial support for Atom 1.0. (See also |
checker with a partial support for Atom 1.0. (See also <a |
74 |
<a href="#demo-html-parser">demo</a>.)</dd> |
href="#demo-html-parser">demo</a> and <a |
75 |
|
href="#app-webhacc">application</a>.) |
76 |
|
|
77 |
</dl> |
</dl> |
78 |
|
|
79 |
<p>Currently, conformance checking of HTML/XHTML and Atom documents |
<p>Currently, conformance checking of HTML/XHTML and Atom documents |
80 |
is supported. |
is supported. |
81 |
|
|
82 |
<p>For these modules, a DOM implementation that supports the manakai's |
<p>For these modules, a DOM implementation that supports the manakai's |
83 |
Perl binding<!-- @@ TODO: ref --> is necessary to represent a document |
Perl binding<!-- @@ TODO: ref --> of DOM is necessary to represent a |
84 |
in memory. The <a |
document in memory. The <a |
85 |
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> |
86 |
package contains such an implementation, |
package contains such an implementation, |
87 |
<code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it |
<code>Message::DOM::Implementation</code><!-- @@ TODO: ref -->, but it |
88 |
should also be possible to use any other implementation that supports |
should also be possible to use any other implementation that supports |
89 |
the binding. |
the binding. |
90 |
|
|
91 |
</div> |
</div> |
92 |
|
|
93 |
<div class=section id=modules-css> |
<div class=section id=modules-css> |
97 |
<dl> |
<dl> |
98 |
<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> |
99 |
<dd>A media-independent implementation of CSS cascading and value |
<dd>A media-independent implementation of CSS cascading and value |
100 |
computation. (See also <a href="#demo-css-parser">demo</a>.) |
computations. (See also <a href="#demo-css-parser">demo</a>.) |
101 |
|
|
102 |
<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> |
103 |
<dd>A media query parser. |
|
104 |
|
<dd>A media query parser. Note that only CSS 2.1 media types are |
105 |
|
supported at the moment. |
106 |
|
|
107 |
<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> |
108 |
<dd>A media query serializer. |
|
109 |
|
<dd>A media query serializer. Note that only CSS 2.1 media types |
110 |
|
are supported at the moment. |
111 |
|
|
112 |
<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> |
113 |
<dd>A CSS parser that constructs CSSOM trees from style sheets. (See |
<dd>A CSS parser that constructs CSSOM trees from style sheets. (See |
114 |
also <a href="#demo-css-parser">demo</a>.) |
also <a href="#demo-css-parser">demo</a>.) |
123 |
<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> |
124 |
</dl> |
</dl> |
125 |
|
|
126 |
<p>For the <code>Whatpm::CSS::Parser</code> module reresents a CSSOM |
<p>For the <code>Whatpm::CSS::Parser</code> module reresenting a CSSOM |
127 |
tree, modules in the <a |
tree, modules in the <a |
128 |
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> |
129 |
package are used. Those modules also provide the serializer for the |
package are used. Those modules also provide the serializer for the |
130 |
CSSOM tree, as the standard <code>css_text</code> attribute. |
CSSOM tree, in the form of the standard <code>css_text</code> CSSOM |
131 |
|
attribute. |
132 |
|
|
133 |
</div> |
</div> |
134 |
|
|
135 |
<div class=section id=modules-http> |
<div class=section id=modules-http> |
181 |
<dd>A language tag parser and conformance checker, supporting both |
<dd>A language tag parser and conformance checker, supporting both |
182 |
older RFC 3066 definition and latest RFC 4646 definition. (See also |
older RFC 3066 definition and latest RFC 4646 definition. (See also |
183 |
<a href="#demo-langtag">demo</a>.) |
<a href="#demo-langtag">demo</a>.) |
184 |
|
|
185 |
|
<dt><a href="Whatpm/RDFXML.html"><code>Whatpm::RDFXML</code></a> |
186 |
|
<dd>An implementation of RDF/XML by which RDF triples can be extracted |
187 |
|
from RDF/XML documents. |
188 |
|
|
189 |
<dt><a href="Whatpm/WebIDL.html"><code>Whatpm::WebIDL</code></a></dt> |
<dt><a href="Whatpm/WebIDL.html"><code>Whatpm::WebIDL</code></a></dt> |
190 |
<dd>A WebIDL fragment parser. It parses an IDL fragment, whether conforming |
<dd>A WebIDL fragment parser. It parses an IDL fragment, whether conforming |
191 |
or not, and constructs a DOM-like object model for further processing. |
or not, and constructs a DOM-like object model for further processing. |
195 |
</dl> |
</dl> |
196 |
</div> |
</div> |
197 |
|
|
|
<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> |
|
|
|
|
198 |
<!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and |
<!-- Whatpm::ContentChecker::*, Whatpm::H2H, Whatpm::NanoDOM, and |
199 |
Whatpm::XMLParser are intentionally omitted from the list. --> |
Whatpm::XMLParser are intentionally omitted from the list. --> |
200 |
</div> |
</div> |
209 |
|
|
210 |
<p>In addition, there are additional documents for some topics: |
<p>In addition, there are additional documents for some topics: |
211 |
<dl> |
<dl> |
212 |
|
|
213 |
|
<dt><a href="http://suika.fam.cx/gate/2007/html/standards">Standards |
214 |
|
supported by WebHACC</a> |
215 |
|
|
216 |
|
<dd>List and description of Web standards supported by the WebHACC |
217 |
|
conformance checker. Although it is a documentation for the WebHACC, |
218 |
|
it is also applicable to Whatpm in general (note that WebHACC is an |
219 |
|
interactive user interface for the conformance checking feature |
220 |
|
provided by Whatpm). |
221 |
|
|
222 |
<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> |
223 |
<!-- @@ 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 --> |
224 |
<dd>Description of errors to be notified to callback functions by Whatpm |
<dd>Description of errors to be notified to callback functions by Whatpm |
248 |
|
|
249 |
<dt><a href="http://suika.fam.cx/gate/2005/sw/manakai/CSS%20Extensions">manakai's |
<dt><a href="http://suika.fam.cx/gate/2005/sw/manakai/CSS%20Extensions">manakai's |
250 |
CSS extensions</a> |
CSS extensions</a> |
251 |
<dd>The specification for <code>-manakai<var>*</var></code> properties |
<dd>The specification for <code>-manakai-<var>*</var></code> properties |
252 |
and property values implemented by CSS-related modules. |
and property values implemented by CSS-related modules. |
253 |
<dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's |
<dt id=spec-manakai-selectors"><a href="http://suika.fam.cx/gate/2005/sw/manakai/Selectors%20Extensions">manakai's |
254 |
Selectors extensions</a> |
Selectors extensions</a> |
260 |
<div class="section" id="demo"> |
<div class="section" id="demo"> |
261 |
<h2>Demo</h2> |
<h2>Demo</h2> |
262 |
|
|
263 |
<ul> |
<ul id=demo-html-parser> |
264 |
<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 |
265 |
and checker demo</a> |
and checker demo</a> |
266 |
(<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>, |
287 |
<h2>Application</h2> |
<h2>Application</h2> |
288 |
|
|
289 |
<ul> |
<ul> |
290 |
<li><a href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr> |
|
291 |
(Web hypertext application conformance checker)</a> |
<li id=app-webhacc><a |
292 |
|
href="http://suika.fam.cx/gate/2007/html/cc/"><abbr>WebHACC</abbr> |
293 |
|
(Web hypertext application conformance checker)</a> (See also <a |
294 |
|
href="http://suika.fam.cx/gate/2007/html/cc-about"><cite>about |
295 |
|
WebHACC</cite></a>) |
296 |
|
|
297 |
</ul> |
</ul> |
298 |
</div> |
</div> |
299 |
|
|
338 |
<dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code> |
<dd><em>Testing</em> for module <code>Whatpm::ContentChecker</code> |
339 |
depends on <code>Message::DOM::DOMImplementation</code> and related modules |
depends on <code>Message::DOM::DOMImplementation</code> and related modules |
340 |
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>. |
341 |
They are not required in practice.</dd> |
They are not required for any practical use of those modules. |
342 |
</dl> |
</dl> |
343 |
</dd> |
</dd> |
344 |
<dt><a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai |
<dt><a href="http://suika.fam.cx/www/manakai-charlib/readme">manakai |
361 |
<dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and |
<dd><em>Testing</em> for modules <code>Whatpm::HTML</code> and |
362 |
<code>Whatpm::CSS::Tokenizer</code> |
<code>Whatpm::CSS::Tokenizer</code> |
363 |
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>. |
364 |
They are not required in practice.</dd> |
They are not required for any practical use of those modules. |
365 |
</dl> |
</dl> |
366 |
</div> |
</div> |
367 |
|
|
391 |
code tree. |
code tree. |
392 |
<li>Charset detection.</li> |
<li>Charset detection.</li> |
393 |
<li>Validation for <code>meta</code>.</li> |
<li>Validation for <code>meta</code>.</li> |
394 |
<li>Validation for media queries, IRIs (against URI schemes), language tags, |
<li>Validation for media queries (level 3), IRIs (against URI schemes), |
395 |
and so on.</li> |
and so on.</li> |
396 |
<li>Documentations are missing for some features.</li> |
<li>Documentations are missing for some features.</li> |
397 |
<li>XML parser<!-- with application cache selection algorithm hook-->.</li> |
<li>XML parser<!-- with application cache selection algorithm hook-->.</li> |