1 |
<!DOCTYPE html> |
2 |
<html xmlns="http://www.w3.org/1999/xhtml" |
3 |
xmlns:d="http://suika.fam.cx/~wakaba/archive/2007/wdcc-desc/" |
4 |
id="error-description"> |
5 |
<head> |
6 |
<title xml:lang="en">Description of Errors — |
7 |
Web Document Conformance Checker (BETA)</title> |
8 |
<link rel="stylesheet" href="cc-style"/> |
9 |
<link rel="license" href="#license"/> |
10 |
</head> |
11 |
<body> |
12 |
<h1>Description of Errors</h1> |
13 |
|
14 |
<section id="html5-tokenize-error"> |
15 |
<h2>HTML5 Parse Errors in Tokenization Stage</h2> |
16 |
|
17 |
<d:item name="duplicate attribute" |
18 |
class="tokenize-error"> |
19 |
<d:message xml:lang="en">There are two attributes with same name.</d:message> |
20 |
<d:desc xml:lang="en"> |
21 |
<p>Attributes must be unique in an element. Specifying |
22 |
attributes with same name more than once is non-conforming.</p> |
23 |
|
24 |
<p>The <code>motion</code> attribute is not part of the HTML standard. |
25 |
Use <code>img</code> element with animation GIF instead.</p> |
26 |
</d:desc> |
27 |
</d:item> |
28 |
|
29 |
<d:item name="nestc" |
30 |
class="tokenize-error"> |
31 |
<d:message xml:lang="en">Void element syntax (<code>/></code>) cannot be |
32 |
used for this element.</d:message> |
33 |
<d:desc xml:lang="en"> |
34 |
<p>The void element syntax <code>/></code> syntax can only be |
35 |
used for <code>base</code>, <code>link</code>, <code>meta</code>, |
36 |
<code>hr</code>, <code>br</code>, <code>img</code>, |
37 |
<code>embed</code>, <code>param</code>, <code>area</code>, |
38 |
<code>col</code>, and <code>input</code> elements. |
39 |
For any other elements, using that syntax is non-conforming.</p> |
40 |
|
41 |
<p>Unlike XML, the void element syntax (<code>/></code>) has |
42 |
no effect in HTML.</p> |
43 |
</d:desc> |
44 |
</d:item> |
45 |
|
46 |
</section> |
47 |
|
48 |
<section id="html5-parse-errors"> |
49 |
<h2>HTML5 Parse Errors in Tree Construction Stage</h2> |
50 |
|
51 |
<d:item name="after head" |
52 |
class="parse-error"> |
53 |
<d:message xml:lang="en">The <code><var>$0</var></code> element cannot be |
54 |
inserted between <code>head</code> and <code>body</code> elements.</d:message> |
55 |
<d:desc xml:lang="en"> |
56 |
<p>A start tag occurs after the <code>head</code> element is closed |
57 |
but before the <code>body</code> element is opened. |
58 |
The document is non-conforming.</p> |
59 |
</d:desc> |
60 |
</d:item> |
61 |
|
62 |
<d:item name="no DOCTYPE" |
63 |
class="parse-error"> |
64 |
<d:message xml:lang="en">This document does not start with the |
65 |
<code>DOCTYPE</code> declaration.</d:message> |
66 |
</d:item> |
67 |
|
68 |
<d:item name="not closed" |
69 |
class="parse-error"> |
70 |
<d:message xml:lang="en">Element <code><var>$0</var></code> is not |
71 |
closed.</d:message> |
72 |
</d:item> |
73 |
|
74 |
<d:item name="not HTML5" |
75 |
class="parse-error"> |
76 |
<d:message xml:lang="en">This document is written in an old version of |
77 |
HTML.</d:message> |
78 |
</d:item> |
79 |
|
80 |
<d:item name="unmatched end tag" |
81 |
class="parse-error"> |
82 |
<d:message xml:lang="en">Element <code><var>$0</var></code> is not |
83 |
opened.</d:message> |
84 |
</d:item> |
85 |
|
86 |
</section> |
87 |
|
88 |
<section id="element-content-model-errors"> |
89 |
<h2>Element Content Model Errors</h2> |
90 |
|
91 |
<d:item name="character not allowed" |
92 |
class="content-model-error"> |
93 |
<d:message xml:lang="en">Data character is not allowed in this |
94 |
context.</d:message> |
95 |
<d:desc xml:lang="en"> |
96 |
<p>A data character occurs where it is not allowed in this |
97 |
context. The document is non-conforming.</p> |
98 |
|
99 |
<p>Possible causes: |
100 |
<dl> |
101 |
<dt>If the erred element is an inline-level element (such |
102 |
as <code>a</code> or <code>span</code>)</dt> |
103 |
<dd><p>A data character cannot be a child |
104 |
of certain sectioning elements such as <code>body</code>, |
105 |
<code>section</code>, and <code>blockquote</code>.</p> |
106 |
|
107 |
<p>Any inline-level content must be put |
108 |
in e.g. paragraph element such as <code>p</code>.</p></dd> |
109 |
<dt>If the erred element is a block-level element (such as |
110 |
<code>div</code> or <code>h<var>n</var></code>)</dt> |
111 |
<dd><p>Though some elements such as <code>div</code>, |
112 |
<code>li</code>, and <code>td</code> allow |
113 |
<em>either one</em> of block-level or inline-level content |
114 |
is allowed. If there is a block-level content, |
115 |
any inline-level content must be put |
116 |
in e.g. paragraph element such as <code>p</code>.</p></dd> |
117 |
</dl> |
118 |
</p> |
119 |
</d:desc> |
120 |
</d:item> |
121 |
|
122 |
<d:item name="child element missing" |
123 |
class="content-model-error"> |
124 |
<d:message xml:lang="en">There must be a <code><var>$0</var></code> |
125 |
element as a child of this element.</d:message> |
126 |
<d:desc xml:lang="en"> |
127 |
<p>The content model of the element is so defined that it |
128 |
must contain a <code><var>$0</var></code> child element. |
129 |
Without such an element, the document is non-conforming.</p> |
130 |
|
131 |
<p>For example: |
132 |
<ul> |
133 |
<li>The <code>head</code> element must contain exactly one |
134 |
<code>title</code> child element.</li> |
135 |
<li><a href="#child-element-missing:td%7Cth">The <code>tr</code> |
136 |
element must contain one or more <code>td</code> or <code>th</code> |
137 |
child element.</a></li> |
138 |
</ul> |
139 |
</p> |
140 |
</d:desc> |
141 |
</d:item> |
142 |
|
143 |
<d:item name="child element missing:td|th" |
144 |
class="content-model-error"> |
145 |
<d:message xml:lang="en">There must be a <code>td</code> |
146 |
or <code>th</code> element as a child of this element.</d:message> |
147 |
<d:desc xml:lang="en"> |
148 |
<p>The <code>tr</code> element must contain at least one |
149 |
<code>td</code> or <code>th</code> child element. Without |
150 |
such an element, the document is non-conforming.</p> |
151 |
</d:desc> |
152 |
</d:item> |
153 |
|
154 |
<d:item name="element not allowed" |
155 |
class="content-model-error"> |
156 |
<d:message xml:lang="en">This element is not allowed in this |
157 |
context.</d:message> |
158 |
<d:desc xml:lang="en"> |
159 |
<p>An element occurs where it is not allowed. The document |
160 |
is non-conforming.</p> |
161 |
|
162 |
<p>Possible causes: |
163 |
<dl> |
164 |
<dt>If the erred element is an inline-level element (such |
165 |
as <code>a</code> or <code>span</code>)</dt> |
166 |
<dd><p>An inline-level element cannot be a child |
167 |
of certain sectioning elements such as <code>body</code>, |
168 |
<code>section</code>, and <code>blockquote</code>.</p> |
169 |
|
170 |
<p>Any inline-level content must be put |
171 |
in e.g. paragraph element such as <code>p</code>.</p></dd> |
172 |
<dt>If the erred element is a block-level element (such as |
173 |
<code>div</code> or <code>h<var>n</var></code>)</dt> |
174 |
<dd><p>Though some elements such as <code>div</code>, |
175 |
<code>li</code>, and <code>td</code> allow |
176 |
<em>either one</em> of block-level or inline-level content |
177 |
is allowed. If there is a block-level content, |
178 |
any inline-level content must be put |
179 |
in e.g. paragraph element such as <code>p</code>.</p></dd> |
180 |
<dt>If the erred element is the root <code>html</code> element</dt> |
181 |
<dd><p>In an XHTML document, the root <code>html</code> |
182 |
element must have an <code>xmlns</code> attribute |
183 |
whose value is set to |
184 |
<code>http://www.w3.org/1999/xhtml</code>.</p></dd> |
185 |
</dl> |
186 |
</p> |
187 |
</d:desc> |
188 |
</d:item> |
189 |
|
190 |
</section> |
191 |
|
192 |
<section id="attribute-value-errors"> |
193 |
<h2>Attribute Value Errors</h2> |
194 |
|
195 |
<d:item name="enumerated:invalid" |
196 |
class="attribute-error"> |
197 |
<d:message xml:lang="en">This attribute only allow a limited set of |
198 |
values and the specified value is not one of them.</d:message> |
199 |
</d:item> |
200 |
|
201 |
</section> |
202 |
|
203 |
<section id="table-model-errors"> |
204 |
<h2>Table Model Errors</h2> |
205 |
|
206 |
<d:item name="table:no cell in last row" |
207 |
class="table-model-error"> |
208 |
<d:message xml:lang="en">The table has no cell (<code>td</code> or |
209 |
<code>th</code>) in the last row.</d:message> |
210 |
</d:item> |
211 |
|
212 |
</section> |
213 |
|
214 |
<section id="imt-warnings"> |
215 |
<h2>Internet Media Type Warnings</h2> |
216 |
|
217 |
<d:item name="IMT:obsolete subtype" |
218 |
class="should" level="s"> |
219 |
<d:message xml:lang="en">An <em>obsolete</em> subtype is used.</d:message> |
220 |
</d:item> |
221 |
|
222 |
<d:item name="IMT:private subtype" |
223 |
class="should" level="s"> |
224 |
<d:message xml:lang="en">A private (<code>x-</code> or <code>x.</code>) |
225 |
subtype is used.</d:message> |
226 |
</d:item> |
227 |
|
228 |
<d:item name="IMT:unregistered subtype" |
229 |
class="should" level="s"> |
230 |
<d:message xml:lang="en">The subtype is not registered to IANA.</d:message> |
231 |
<!-- TODO: Unknown message?? --> |
232 |
</d:item> |
233 |
|
234 |
</section> |
235 |
|
236 |
<section id="uri-errors"> |
237 |
<h2>URI (or IRI) Errors</h2> |
238 |
|
239 |
<d:item name="URI::syntax error" |
240 |
class="must" level="m"> |
241 |
<d:message xml:lang="en">This string is not an IRI syntactically.</d:message> |
242 |
</d:item> |
243 |
|
244 |
</section> |
245 |
|
246 |
<section id="uri-errors"> |
247 |
<h2>URI (or IRI) Errors</h2> |
248 |
|
249 |
<d:item name="URI::empty path" |
250 |
class="should" level="s"> |
251 |
<d:message xml:lang="en">This IRI should explicitly end with |
252 |
<code>/</code>.</d:message> |
253 |
</d:item> |
254 |
|
255 |
</section> |
256 |
|
257 |
<section id="unsupported-messages"> |
258 |
<h2><i>Unsupported</i> Messages</h2> |
259 |
|
260 |
<d:item name="attribute" |
261 |
class="unsupported" level="unsupported"> |
262 |
<d:message xml:lang="en">This attribute is not supported by the |
263 |
conformance checker; <em>it might or might not be conforming</em>.</d:message> |
264 |
<d:desc xml:lang="en"> |
265 |
<p>The conformant checker does not support the attribute. |
266 |
It cannot determine whether the document is conforming or not.</p> |
267 |
</d:desc> |
268 |
</d:item> |
269 |
|
270 |
<d:item name="element" |
271 |
class="unsupported" level="unsupported"> |
272 |
<d:message xml:lang="en">This element is not supported by the |
273 |
conformance checker; <em>it might or might not be conforming</em>.</d:message> |
274 |
<d:desc xml:lang="en"> |
275 |
<p>The conformant checker does not support the element. |
276 |
It cannot determine whether the document is conforming or not.</p> |
277 |
</d:desc> |
278 |
</d:item> |
279 |
|
280 |
<d:item name="link type" |
281 |
class="unsupported" level="unsupported"> |
282 |
<d:message xml:lang="en">The link type <code>$0</code> is not standardized |
283 |
or registered at the time of the release of the conformance checker; |
284 |
<em>it is non-conforming unless it has now been registered</em>.</d:message> |
285 |
<d:desc xml:lang="en"> |
286 |
<p>The <code>rel</code> attribute is defined as a list of link types. |
287 |
Some common link types are defined in the HTML5 specification. |
288 |
Additional link types can be registered to the WHATWG Wiki. |
289 |
use of any other link type is non-conforming.</p> |
290 |
|
291 |
<p>The specified link type is not part of the standard or registry |
292 |
when the database used by the conformance cheker is created. |
293 |
The link type might have been added to the registry since then. |
294 |
In such case it might be conforming. Otherwise, the |
295 |
document is non-conforming.</p> |
296 |
</d:desc> |
297 |
</d:item> |
298 |
|
299 |
</section> |
300 |
|
301 |
<d:catalog> |
302 |
manakaiCompatMode:quirks;;Quirks Mode |
303 |
manakaiCompatMode:limited quirks;;Limited Quirks Mode |
304 |
manakaiCompatMode:no quirks;;No Quirks Mode |
305 |
|
306 |
manakaiIsHTML:1;;HTML Document |
307 |
manakaiIsHTML:0;;XML Document |
308 |
</d:catalog> |
309 |
|
310 |
<section id="license"> |
311 |
<h2>License of This Document</h2> |
312 |
|
313 |
<p>Copyright 2007 <a href="http://suika.fam.cx/~wakaba/who?">Wakaba</a></p> |
314 |
<p>This library is free software; you can redistribute it |
315 |
and/or modify it under the same terms as Perl itself.</p> |
316 |
</section> |
317 |
|
318 |
<!-- $Date: 2007/07/01 10:02:24 $ --> |
319 |
</body> |
320 |
</html> |