| 1 |
|
<?xml version="1.0" ?> |
| 2 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| 3 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
| 4 |
<head> |
<head> |
| 5 |
<title>Whatpm::ContentChecker - DOM Conformance Checker</title> |
<title>Whatpm::ContentChecker - DOM Conformance Checker</title> |
| 6 |
<link rel="stylesheet" href="http://suika.fam.cx/www/style/html/pod.css" type="text/css" /> |
<link rel="stylesheet" href="http://suika.fam.cx/www/style/html/pod.css" type="text/css" /> |
| 7 |
<link rev="made" href="mailto:admin@suika.fam.cx" /> |
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> |
| 8 |
|
<link rev="made" href="mailto:wakaba@suika.fam.cx" /> |
| 9 |
</head> |
</head> |
| 10 |
|
|
| 11 |
<body> |
<body> |
| 12 |
|
|
| 13 |
<p><a name="__index__"></a></p> |
|
| 14 |
<!-- INDEX BEGIN --> |
<!-- INDEX BEGIN --> |
| 15 |
|
<div name="index"> |
| 16 |
|
<p><a name="__index__"></a></p> |
| 17 |
|
|
| 18 |
<ul> |
<ul> |
| 19 |
|
|
| 22 |
<li><a href="#description">DESCRIPTION</a></li> |
<li><a href="#description">DESCRIPTION</a></li> |
| 23 |
<li><a href="#methods">METHODS</a></li> |
<li><a href="#methods">METHODS</a></li> |
| 24 |
<li><a href="#bugs">BUGS</a></li> |
<li><a href="#bugs">BUGS</a></li> |
| 25 |
|
<li><a href="#notes_on_implementation_details">NOTES ON IMPLEMENTATION DETAILS</a></li> |
| 26 |
|
<ul> |
| 27 |
|
|
| 28 |
|
<li><a href="#the__self___flag__structure">The <code>$self->{flag}</code> Structure</a></li> |
| 29 |
|
<li><a href="#the__element_state_structure">The <code>$element_state</code> Structure</a></li> |
| 30 |
|
</ul> |
| 31 |
|
|
| 32 |
<li><a href="#see_also">SEE ALSO</a></li> |
<li><a href="#see_also">SEE ALSO</a></li> |
| 33 |
<li><a href="#author">AUTHOR</a></li> |
<li><a href="#author">AUTHOR</a></li> |
| 34 |
<li><a href="#license">LICENSE</a></li> |
<li><a href="#license">LICENSE</a></li> |
| 35 |
</ul> |
</ul> |
| 36 |
|
|
| 37 |
|
<hr name="index" /> |
| 38 |
|
</div> |
| 39 |
<!-- INDEX END --> |
<!-- INDEX END --> |
| 40 |
|
|
|
<hr /> |
|
| 41 |
<p> |
<p> |
| 42 |
</p> |
</p> |
| 43 |
<h1><a name="name">NAME</a></h1> |
<h1><a name="name">NAME</a></h1> |
| 78 |
<h1><a name="methods">METHODS</a></h1> |
<h1><a name="methods">METHODS</a></h1> |
| 79 |
<p>This module contains two static methods:</p> |
<p>This module contains two static methods:</p> |
| 80 |
<dl> |
<dl> |
| 81 |
<dt><strong><a name="item_check_document">Whatpm::ContentChecker->check_document (<em>$document</em>, <em>$onerror</em>);</a></strong><br /> |
<dt><strong><a name="check_document" class="item">Whatpm::ContentChecker->check_document (<em>$document</em>, <em>$onerror</em>);</a></strong> |
| 82 |
</dt> |
|
| 83 |
<dd> |
<dd> |
| 84 |
Checks a document, <em>$document</em>, and its descendant for their |
<p>Checks a document, <em>$document</em>, and its descendant for their |
| 85 |
conformance. If there is an error or a warnign, then the |
conformance. If there is an error or a warnign, then the |
| 86 |
<em>$onerror</em> <code>CODE</code> is invoked with named arguments same |
<em>$onerror</em> <code>CODE</code> is invoked with named arguments same |
| 87 |
as ones for the method <a href="#item_check_element"><code>check_element</code></a>. |
as ones for the method <a href="#check_element"><code>check_element</code></a>.</p> |
| 88 |
</dd> |
</dd> |
| 89 |
<p></p> |
</li> |
| 90 |
<dt><strong><a name="item_check_element">Whatpm::ContentChecker->check_element (<em>$element</em>, <em>$onerror</em>);</a></strong><br /> |
<dt><strong><a name="check_element" class="item">Whatpm::ContentChecker->check_element (<em>$element</em>, <em>$onerror</em>);</a></strong> |
| 91 |
</dt> |
|
| 92 |
<dd> |
<dd> |
| 93 |
Checks an element, <em>$element</em>, and its descendant for their conformance. |
<p>Checks an element, <em>$element</em>, and its descendant for their conformance. |
| 94 |
If there is an error or a warning, then the <em>$onerror</em> <code>CODE</code> |
If there is an error or a warning, then the <em>$onerror</em> <code>CODE</code> |
| 95 |
is invoked with named arguments: |
is invoked with named arguments:</p> |
| 96 |
</dd> |
</dd> |
| 97 |
<dl> |
<dl> |
| 98 |
<dt><strong><a name="item_level">level (Might be <code>undef</code>)</a></strong><br /> |
<dt><strong><a name="level" class="item">level (Might be <code>undef</code>)</a></strong> |
| 99 |
</dt> |
|
| 100 |
<dd> |
<dd> |
| 101 |
A string which describes the severity of the error or warning. |
<p>A string which describes the severity of the error or warning. |
| 102 |
For the list of the severities, see |
For the list of the severities, see |
| 103 |
<http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>. |
<http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>.</p> |
| 104 |
</dd> |
</dd> |
| 105 |
<p></p> |
</li> |
| 106 |
<dt><strong><a name="item_node">node (Always specified)</a></strong><br /> |
<dt><strong><a name="node" class="item">node (Always specified)</a></strong> |
| 107 |
</dt> |
|
| 108 |
<dd> |
<dd> |
| 109 |
The node with which the error is detected. |
<p>The node with which the error is detected.</p> |
| 110 |
</dd> |
</dd> |
| 111 |
<p></p> |
</li> |
| 112 |
<dt><strong><a name="item_type">type (Always specified)</a></strong><br /> |
<dt><strong><a name="type" class="item">type (Always specified)</a></strong> |
| 113 |
</dt> |
|
| 114 |
<dd> |
<dd> |
| 115 |
A string which describes the type of the error or warning. |
<p>A string which describes the type of the error or warning. |
| 116 |
For the list of the errors and warnings, see |
For the list of the errors and warnings, see |
| 117 |
<http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>. |
<http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>.</p> |
| 118 |
</dd> |
</dd> |
| 119 |
<p></p></dl> |
</li> |
| 120 |
|
</dl> |
| 121 |
</dl> |
</dl> |
| 122 |
<p> |
<p> |
| 123 |
</p> |
</p> |
| 129 |
<p> |
<p> |
| 130 |
</p> |
</p> |
| 131 |
<hr /> |
<hr /> |
| 132 |
|
<h1><a name="notes_on_implementation_details">NOTES ON IMPLEMENTATION DETAILS</a></h1> |
| 133 |
|
<p><em>This section is not complete.</em></p> |
| 134 |
|
<p>This section describes various internal constructions used in |
| 135 |
|
<a href="../Whatpm/ContentChecker.html">the Whatpm::ContentChecker manpage</a> and relevant modules. These data structures |
| 136 |
|
are not public interfaces -- they should not be accessed or modified |
| 137 |
|
by applications. They are documented here for the convenience of |
| 138 |
|
development only.</p> |
| 139 |
|
<p> |
| 140 |
|
</p> |
| 141 |
|
<h2><a name="the__self___flag__structure">The <code>$self->{flag}</code> Structure</a></h2> |
| 142 |
|
<dl> |
| 143 |
|
<dt><strong><a name="_self___flag____has_label_" class="item"><code>$self->{flag}->{has_label}</code></a></strong> |
| 144 |
|
|
| 145 |
|
<dd> |
| 146 |
|
<p>This flag is set to a true value if and only if there is a <code>label</code> |
| 147 |
|
element ancestor of the current node.</p> |
| 148 |
|
</dd> |
| 149 |
|
</li> |
| 150 |
|
<dt><strong><a name="_self___flag____has_labelable_" class="item"><code>$self->{flag}->{has_labelable}</code></a></strong> |
| 151 |
|
|
| 152 |
|
<dd> |
| 153 |
|
<p>This flag is set to <code>1</code> if and only if a nearest ancestor <code>label</code> |
| 154 |
|
element has the <code>for</code> attribute and there is no labelable |
| 155 |
|
form-associated element that is a descendant of the <code>label</code> element |
| 156 |
|
and precedes the current node in tree order. This flag is set to <code>2</code> |
| 157 |
|
if and only if there is a labelable form-associated element that is a |
| 158 |
|
descendant of the nearest ancestor <code>label</code> element of the current |
| 159 |
|
node and precedes the current node in tree order. This flag is |
| 160 |
|
otherwise set to a false value. <strong>However</strong>, when there is no ancestor |
| 161 |
|
<code>label</code> element of the current node, i.e. when |
| 162 |
|
<a href="#_self___flag____has_label_"><code>$self->{flag}->{has_label}</code></a> is false, the value of the |
| 163 |
|
<a href="#_self___flag____has_labelable_"><code>$self->{flag}->{has_labelable}</code></a> flag is <em>undefined</em>.</p> |
| 164 |
|
</dd> |
| 165 |
|
</li> |
| 166 |
|
</dl> |
| 167 |
|
<p> |
| 168 |
|
</p> |
| 169 |
|
<h2><a name="the__element_state_structure">The <code>$element_state</code> Structure</a></h2> |
| 170 |
|
<dl> |
| 171 |
|
<dt><strong><a name="_element_state___has_label_original_" class="item"><code>$element_state->{has_label_original}</code></a></strong> |
| 172 |
|
|
| 173 |
|
<dd> |
| 174 |
|
<p>Used to preserve the value of <a href="#_self___flag____has_label_"><code>$self->{flag}->{has_label}</code></a> at the |
| 175 |
|
time of invocation of the method <code>element_start</code> for the element |
| 176 |
|
being checked.</p> |
| 177 |
|
</dd> |
| 178 |
|
</li> |
| 179 |
|
<dt><strong><a name="_element_state___has_labelable_original_" class="item"><code>$element_state->{has_labelable_original}</code></a></strong> |
| 180 |
|
|
| 181 |
|
<dd> |
| 182 |
|
<p>Used to preserve the value of <a href="#_self___flag____has_labelable_"><code>$self->{flag}->{has_labelable}</code></a> at |
| 183 |
|
the time of invocation of the method <code>element_start</code> for the element |
| 184 |
|
being checked.</p> |
| 185 |
|
</dd> |
| 186 |
|
</li> |
| 187 |
|
</dl> |
| 188 |
|
<p> |
| 189 |
|
</p> |
| 190 |
|
<hr /> |
| 191 |
<h1><a name="see_also">SEE ALSO</a></h1> |
<h1><a name="see_also">SEE ALSO</a></h1> |
| 192 |
<p><a href="../Whatpm/ContentChecker/Atom.html">the Whatpm::ContentChecker::Atom manpage</a></p> |
<p><a href="../Whatpm/ContentChecker/Atom.html">the Whatpm::ContentChecker::Atom manpage</a></p> |
| 193 |
<p><a href="../Whatpm/ContentChecker/HTML.html">the Whatpm::ContentChecker::HTML manpage</a></p> |
<p><a href="../Whatpm/ContentChecker/HTML.html">the Whatpm::ContentChecker::HTML manpage</a></p> |
| 201 |
</p> |
</p> |
| 202 |
<hr /> |
<hr /> |
| 203 |
<h1><a name="license">LICENSE</a></h1> |
<h1><a name="license">LICENSE</a></h1> |
| 204 |
<p>Copyright 2007 Wakaba <<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>></p> |
<p>Copyright 2007-2008 Wakaba <<a href="mailto:w@suika.fam.cx">w@suika.fam.cx</a>></p> |
| 205 |
<p>This library is free software; you can redistribute it |
<p>This library is free software; you can redistribute it |
| 206 |
and/or modify it under the same terms as Perl itself.</p> |
and/or modify it under the same terms as Perl itself.</p> |
| 207 |
|
|