1 |
2008-06-15 Wakaba <wakaba@suika.fam.cx> |
2 |
|
3 |
* Makefile (Entities.html): URI changed. |
4 |
|
5 |
2008-06-08 Wakaba <wakaba@suika.fam.cx> |
6 |
|
7 |
* HTML.pm.src: Support for ruby parsing (HTML5 revision 1704). |
8 |
|
9 |
2008-06-01 Wakaba <wakaba@suika.fam.cx> |
10 |
|
11 |
* HTML.pm.src (_get_next_token): A parse error was missing. |
12 |
|
13 |
2008-06-01 Wakaba <wakaba@suika.fam.cx> |
14 |
|
15 |
* mklinktypelist.pl: rel=contact is no longer part of the HTML5 |
16 |
spec (commented out). (HTML5 revision 1711). |
17 |
|
18 |
2008-05-25 Wakaba <wakaba@suika.fam.cx> |
19 |
|
20 |
* ContentType.pm: Drop support for UTF-32 (HTML5 revision 1701). |
21 |
|
22 |
* HTML.pm.src: UTF-16BE and UTF-16LE should be considered |
23 |
as UTF-16 (HTML5 revision 1701). |
24 |
|
25 |
2008-05-25 Wakaba <wakaba@suika.fam.cx> |
26 |
|
27 |
* HTML.pm.src: Support for <noframes> in <head> (HTML5 revision |
28 |
1692). |
29 |
|
30 |
2008-05-25 Wakaba <wakaba@suika.fam.cx> |
31 |
|
32 |
* HTML.pm.src: The secondary insertion mode used when switching |
33 |
to foreign content is the "in body" insertion mode (HTML5 revision |
34 |
1696). |
35 |
|
36 |
2008-05-25 Wakaba <wakaba@suika.fam.cx> |
37 |
|
38 |
* HTML.pm.src: Don't raise parse error for <isindex/> (HTML5 |
39 |
revision 1697). |
40 |
|
41 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
42 |
|
43 |
* HTML.pm.src: Support for end-of-file token in foreign content |
44 |
insertion mode (HTML5 revision 1693). Update SVG camelCase |
45 |
attribute list (HTML5 revision 1700). <textarea> closes |
46 |
</select> (HTML5 revision 1699). More start tags close in |
47 |
foreign content insertion mode (HTML5 revision 1698). |
48 |
|
49 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
50 |
|
51 |
* HTML.pm.src: ";" is not part of charset name (HTML5 revision 1665). |
52 |
|
53 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
54 |
|
55 |
* HTML.pm.src: More robust charset parameter detection (HTML5 |
56 |
revision 1674). |
57 |
|
58 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
59 |
|
60 |
* ContentType.pm: Support for image/vnd.microsoft.icon (HTML5 |
61 |
revision 1676). |
62 |
|
63 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
64 |
|
65 |
* HTML.pm.src: Ignore language part of public identifiers for |
66 |
quriks mode detection (HTML5 revision 1679). |
67 |
|
68 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
69 |
|
70 |
* HTML.pm.src: Reduce the number of errors in truncated doctypes (HTML5 |
71 |
revision 1685). |
72 |
|
73 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
74 |
|
75 |
* HTML.pm.src: Support for EOF in new states for tags (HTML5 |
76 |
revision 1684). |
77 |
|
78 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
79 |
|
80 |
* HTML.pm.src (_reset_insertion_mode): Make <td>.innerHTML |
81 |
work (HTML5 revision 1690). |
82 |
|
83 |
2008-05-24 Wakaba <wakaba@suika.fam.cx> |
84 |
|
85 |
* HTML.pm.src (_tree_construction_main): Change handling of |
86 |
end tags in head insertion modes (HTML5 revision 1686). |
87 |
(parse_char_string): Bug fix for non-utf8 character string handlings. |
88 |
(parse_char_stream): |ungetc| does not work well for this context. |
89 |
|
90 |
2008-05-18 Wakaba <wakaba@suika.fam.cx> |
91 |
|
92 |
* HTML.pm.src (parse_byte_string): Redefined to invoke |
93 |
|parse_byte_stream|. |
94 |
(parse_byte_stream): New method. |
95 |
|
96 |
2008-05-18 Wakaba <wakaba@suika.fam.cx> |
97 |
|
98 |
* HTML.pm.src (parse_byte_string): Fix the column number reported |
99 |
by encoding layer error reporter. |
100 |
|
101 |
2008-05-17 Wakaba <wakaba@suika.fam.cx> |
102 |
|
103 |
* HTML.pm.src (parse_byte_string): Use streaming decoder |
104 |
rather than converting the whole byte string and then parsing. |
105 |
Propagate errors in character encoding layer. |
106 |
(get_next_token): Precise error reporting for |bare stago| error. |
107 |
|
108 |
2008-05-17 Wakaba <wakaba@suika.fam.cx> |
109 |
|
110 |
* HTML.pm.src (parse_char_stream): New method. |
111 |
(parse_char_string): This method is now defined as an invocation |
112 |
of the |parse_char_stream| method. |
113 |
|
114 |
2008-05-17 Wakaba <wakaba@suika.fam.cx> |
115 |
|
116 |
* HTML.pm.src (parse_byte_string): Report various status |
117 |
of the sniffing as info-level errors. Support for new |
118 |
decoding framework in parser resestting. |
119 |
(new): Various default error levels were not set. |
120 |
|
121 |
2008-05-17 Wakaba <wakaba@suika.fam.cx> |
122 |
|
123 |
* HTML.pm.src (parse_byte_string): HTML5 encoding siniffing |
124 |
algorithm, except for the actual sniffing, is implemented |
125 |
with new framework with Message::Charset::Info. |
126 |
|
127 |
2008-05-16 Wakaba <wakaba@suika.fam.cx> |
128 |
|
129 |
* CacheManifest.pm (_parse): Drop fragment identifiers from |
130 |
URIs in fallback section (HTML5 revision 1596). |
131 |
|
132 |
2008-05-10 Wakaba <wakaba@suika.fam.cx> |
133 |
|
134 |
* Makefile (Entities.html): URI has changed. |
135 |
|
136 |
2008-05-10 Wakaba <wakaba@suika.fam.cx> |
137 |
|
138 |
* CacheManifest.pm: Don't replace U+0000 NULL (HTML5 revision |
139 |
1553). |
140 |
|
141 |
2008-05-06 Wakaba <wakaba@suika.fam.cx> |
142 |
|
143 |
* ContentChecker.pm: Noted that those returned in |table| are |
144 |
no longer table elements, but table objects returned |
145 |
by Whatpm::HTMLTable. |
146 |
|
147 |
* HTMLTable.pm (form_table): Return table element node |
148 |
as |$table->{element}|. |
149 |
(assign_header): Support for the |headers=""| attribute. |
150 |
|
151 |
2008-05-06 Wakaba <wakaba@suika.fam.cx> |
152 |
|
153 |
* HTMLTable.pm (assign_header): New function; first version |
154 |
with no support for headers="". |
155 |
(form_table): Include table width and height to the returned |
156 |
table object for covenience. Indexing in column assignement was wrong. |
157 |
Set whether a data cell is empty or not for convenience. |
158 |
|
159 |
2008-05-05 Wakaba <wakaba@suika.fam.cx> |
160 |
|
161 |
* HTMLTable.pm: Robuster caption support (HTML5 revision 1393). |
162 |
|
163 |
2008-05-05 Wakaba <wakaba@suika.fam.cx> |
164 |
|
165 |
* HTMLTable.pm: How table model errors are detected is |
166 |
changed (HTML5 revision 1387). |
167 |
|
168 |
2008-05-05 Wakaba <wakaba@suika.fam.cx> |
169 |
|
170 |
* HTMLTable.pm: The algorithm now moves |tfoot| elements |
171 |
to the end of the table (HTML5 revision 1380). |
172 |
|
173 |
2008-05-05 Wakaba <wakaba@suika.fam.cx> |
174 |
|
175 |
* HTMLTable.pm: The algorithm is now 0-based indexing, instead |
176 |
of 1-based (HTML5 revision 1376). |
177 |
|
178 |
2008-05-05 Wakaba <wakaba@suika.fam.cx> |
179 |
|
180 |
* ContentType.pm: "Content-Type: text/plain; charset=UTF-8" |
181 |
and "Content-Encoding" no longer prevent sniffing (HTML5 |
182 |
revision 1288). |
183 |
|
184 |
2008-05-05 Wakaba <wakaba@suika.fam.cx> |
185 |
|
186 |
* ContentType.pm: Skip BOMs n feed or HTML algorithm (HTML5 revision |
187 |
1282). |
188 |
|
189 |
2008-05-03 Wakaba <wakaba@suika.fam.cx> |
190 |
|
191 |
* ContentChecker.pm: Support for global attributes. |
192 |
Status of XML specs are added. |
193 |
|
194 |
2008-05-03 Wakaba <wakaba@suika.fam.cx> |
195 |
|
196 |
* ContentChecker.pm (check_element): Support for |template=""| |
197 |
and |ref=""| attribute (referent element type checking). |
198 |
|
199 |
2008-04-29 Wakaba <wakaba@suika.fam.cx> |
200 |
|
201 |
* CacheManifest.pm (_parse): New same origin definition (HTML5 revision |
202 |
1500) is implemented (except for IDNA part and URI-scheme-specific |
203 |
knowledge). Line number counting was wrong for LF-only |
204 |
documents. |
205 |
|
206 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
207 |
|
208 |
* HTML.pm.src: Raise an parse error for any disallowed |
209 |
character (HTML5 revision 1263). |
210 |
|
211 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
212 |
|
213 |
* mkentitylist.pl: Support for new HTML5 entity table format (the |
214 |
definition for |AElig;| was missing). |
215 |
|
216 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
217 |
|
218 |
* HTML.pm.src, mkhtmlparser.pl: Support for element/attribute |
219 |
name/namespace fixup (HTML5 revisions 1413, 1415, 1416, and 1417). |
220 |
|
221 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
222 |
|
223 |
* HTML.pm.src: List of element names that close foreign content |
224 |
insertion mode is added (HTML5 revisions 1412 and 1418). |
225 |
|
226 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
227 |
|
228 |
* HTML.pm.src: Support for |mglyph| and |malignmark| |
229 |
elements (HTML5 revision 1410). |
230 |
|
231 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
232 |
|
233 |
* HTML.pm.src: Support for new long MathML entities (HTML5 |
234 |
revision 1406). |
235 |
|
236 |
2008-04-13 Wakaba <wakaba@suika.fam.cx> |
237 |
|
238 |
* HTML.pm.src: CDATA section support for MathML and SVG |
239 |
elements (HTML5 revision 1404 and 1420). |
240 |
|
241 |
2008-04-12 Wakaba <wakaba@suika.fam.cx> |
242 |
|
243 |
* HTML.pm.src, mkhtmlparser.pl: Support for MathML and SVG |
244 |
elements (HTML5 revision 1404). Unused !!!macro definitions |
245 |
are removed. |
246 |
|
247 |
2008-04-12 Wakaba <wakaba@suika.fam.cx> |
248 |
|
249 |
* HTML.pm.src, mkhtmlparser.pl: The way permitted slash errors |
250 |
are raised is changed (HTML5 revision 1404). |
251 |
|
252 |
2008-04-06 Wakaba <wakaba@suika.fam.cx> |
253 |
|
254 |
* HTML.pm.src: Category sets that are no longer used are removed. |
255 |
|
256 |
2008-04-06 Wakaba <wakaba@suika.fam.cx> |
257 |
|
258 |
* HTML.pm.src: The ->[1] property of stack entries are now |
259 |
replaced by constants representing element category. |
260 |
|
261 |
2008-04-06 Wakaba <wakaba@suika.fam.cx> |
262 |
|
263 |
* HTML.pm.src: Don't use local name stored in stack (i.e. ->[1]) |
264 |
for error reporting. (This is a preparation for using constant |
265 |
value for ->[1].) |
266 |
|
267 |
2008-03-22 Wakaba <wakaba@suika.fam.cx> |
268 |
|
269 |
* RDFXML.pm: Typo fixed. |
270 |
|
271 |
2008-03-22 Wakaba <wakaba@suika.fam.cx> |
272 |
|
273 |
* ContentChecker.pm: |fact_level| is now treated |
274 |
as same as |must_level|, i.e. level = |m|. |
275 |
(check_element): Make list of URIs in the DOM. |
276 |
|
277 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
278 |
|
279 |
* RDFXML.pm: Language accessor implemented. |
280 |
Local (null-namespace) attribute support. |
281 |
|
282 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
283 |
|
284 |
* RDFXML.pm: Factored out ID checking code. |
285 |
|
286 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
287 |
|
288 |
* RDFXML.pm: TODO items noted. Validation of ID |
289 |
and URI attributes is implemented. Warn if unknown |
290 |
value is used in rdf:parseType="" attribute. |
291 |
|
292 |
* URIChecker.pm (check_rdf_uri_reference): New function. |
293 |
|
294 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
295 |
|
296 |
* RDFXML.pm: bnodeid implemented. Relative references |
297 |
are now resolved. |
298 |
|
299 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
300 |
|
301 |
* ContentChecker.pm: RDF reification implemented. |
302 |
|
303 |
* RDFXML.pm: undef vs false bug fixed. |
304 |
Reification implemented. |
305 |
|
306 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
307 |
|
308 |
* RDFXML.pm: s/id/ID/ for attribute name. |
309 |
The |node| arguments are added for |ontriple| calls. |
310 |
Too many "attribute not allowed" errors were raised. |
311 |
|
312 |
* ContentChecker.pm: Initial experimental support for rdf:RDF |
313 |
element. |
314 |
|
315 |
2008-03-21 Wakaba <wakaba@suika.fam.cx> |
316 |
|
317 |
* RDFXML.pm: New module. |
318 |
|
319 |
2008-03-20 Wakaba <wakaba@suika.fam.cx> |
320 |
|
321 |
* HTML.pm.src (set_inner_html): Line/column number |
322 |
code was old one yet. |
323 |
|
324 |
2008-03-20 Wakaba <wakaba@suika.fam.cx> |
325 |
|
326 |
* HTML.pm.src: Better line/column reporting for "duplicate attribute" |
327 |
errors. Line/column markings for DOCTYPE, comment, and |
328 |
character tokens are reintroduced; otherwise, |
329 |
error location for "not HTML5" error and errors |
330 |
for implied elements are not attached. |
331 |
|
332 |
2008-03-20 Wakaba <wakaba@suika.fam.cx> |
333 |
|
334 |
* HTML.pm.src: Set line/column numbers to attributes. |
335 |
|
336 |
* NanoDOM.pm (create_attribute_ns, set_attribute_node_ns): Added. |
337 |
(value): Setter implemented. |
338 |
|
339 |
* mkhtmlparser.pl: Set line/column numbers to Attr nodes. |
340 |
|
341 |
2008-03-20 Wakaba <wakaba@suika.fam.cx> |
342 |
|
343 |
* HTML.pm.src: Unused line/column markings are removed. |
344 |
|
345 |
2008-03-20 Wakaba <wakaba@suika.fam.cx> |
346 |
|
347 |
* HTML.pm.src (_get_next_token): Remove |first_start_tag| |
348 |
flag, which is no longer used. |
349 |
|
350 |
2008-03-17 Wakaba <wakaba@suika.fam.cx> |
351 |
|
352 |
* HTML.pm.src: Set line/column information to element nodes. |
353 |
|
354 |
* mkhtmlparser.pl (!!!create-element, !!!insert-element, |
355 |
and !!!insert-element-t): Set line/column information to |
356 |
element nodes. |
357 |
|
358 |
2008-03-17 Wakaba <wakaba@suika.fam.cx> |
359 |
|
360 |
* HTML.pm.src (_get_next_token): The first "<" character |
361 |
in "<?", "<>", or "</>" should be the error point. |
362 |
|
363 |
2008-03-16 Wakaba <wakaba@suika.fam.cx> |
364 |
|
365 |
* HTML.pm.src: Some more fixes on error position reporting. |
366 |
|
367 |
2008-03-16 Wakaba <wakaba@suika.fam.cx> |
368 |
|
369 |
* HTML.pm.src: Token-level precious error reporting. |
370 |
|
371 |
2008-03-16 Wakaba <wakaba@suika.fam.cx> |
372 |
|
373 |
* HTML.pm.src: Preparation for more precious error point |
374 |
reporting. |
375 |
|
376 |
2008-03-11 Wakaba <wakaba@suika.fam.cx> |
377 |
|
378 |
* HTML.pm.src: Error type revised. |
379 |
|
380 |
2008-03-11 Wakaba <wakaba@suika.fam.cx> |
381 |
|
382 |
* HTML.pm.src: Similar codes are merged together, again. |
383 |
|
384 |
2008-03-11 Wakaba <wakaba@suika.fam.cx> |
385 |
|
386 |
* HTML.pm.src: Similar codes are merged together. |
387 |
|
388 |
2008-03-10 Wakaba <wakaba@suika.fam.cx> |
389 |
|
390 |
* mkhtmlparser.pl: Set "level" parameter to parse errors. |
391 |
|
392 |
* HTML.pm.src: Code refined. |
393 |
|
394 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
395 |
|
396 |
* HTML.pm.src: |</body>| treatement has been changed (HTML5 |
397 |
revision 1348). Note that I really don't know this makes |
398 |
any difference in the black-box behavior of the parser. |
399 |
|
400 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
401 |
|
402 |
* HTML.pm.src: New end-of-file token implementation (HTML5 |
403 |
revision 1348). |
404 |
|
405 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
406 |
|
407 |
* HTML.pm.src: |applet| support (HTML5 revision 1347). |
408 |
|
409 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
410 |
|
411 |
* HTML.pm.src: Foster parenting in AAA (HTML5 revision 1343). |
412 |
|
413 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
414 |
|
415 |
* HTML.pm.src: Support for |<input>| in the "in select" insertion |
416 |
mode and support for the "in select in table" insertion mode (HTML5 |
417 |
revision 1342). |
418 |
|
419 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
420 |
|
421 |
* HTML.pm.src: No foster parenting for <script> and <script> |
422 |
in non-tainted <table>s (HTML5 revision 1336). |
423 |
|
424 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
425 |
|
426 |
* HTML.pm.src: Ignore white space characters between <html> |
427 |
and <head> (HTML5 revision 1332). |
428 |
|
429 |
2008-03-09 Wakaba <wakaba@suika.fam.cx> |
430 |
|
431 |
* HTML.pm.src: Treat <input type=hidden> as if it were a |
432 |
white space (HTML5 revision 1331). |
433 |
|
434 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
435 |
|
436 |
* HTML.pm.src: Ignore U+000A at the beginning of a |listing| |
437 |
element (HTML5 revision 1330). |
438 |
|
439 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
440 |
|
441 |
* HTML.pm.src: <title> is always appended to the current |
442 |
element (HTML5 revision 1328). |
443 |
|
444 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
445 |
|
446 |
* HTML.pm.src: White space in tainted tables are moved |
447 |
into foster parents (HTML5 revision 1326). |
448 |
|
449 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
450 |
|
451 |
* HTML.pm.src: Reduce errors from foster parenting cases (HTML5 |
452 |
revision 1321). |
453 |
|
454 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
455 |
|
456 |
* HTML.pm.src: |</h/n/>| case code rearranged to align with |
457 |
the spec (HTML5 revision 1320). Note that we finally complete |
458 |
all of HTML5 revision 1320 changes. |
459 |
|
460 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
461 |
|
462 |
* HTML.pm.src: |</form>| now works similar to |</div>| for unclosed |
463 |
tags (HTML5 revision 1320). |
464 |
|
465 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
466 |
|
467 |
* HTML.pm.src: |</p>| case rearranged with no actual change in fact. |
468 |
|
469 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
470 |
|
471 |
* HTML.pm.src: A "generate implied end tags" code (t409.1) |
472 |
could not be reached so that it is now removed (HTML5 revision |
473 |
1320). |
474 |
|
475 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
476 |
|
477 |
* HTML.pm.src: Code for the case of |</div>| and so on are revised |
478 |
to align with new spec text (HTML5 revision 1320). |
479 |
|
480 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
481 |
|
482 |
* HTML.pm.src: Remove strange |if| condition; however, it should |
483 |
have had no harm in theory. |
484 |
|
485 |
2008-03-08 Wakaba <wakaba@suika.fam.cx> |
486 |
|
487 |
* HTML.pm.src (_tree_construction_main): '</p>' in body |
488 |
case is split from other end tags for the preparation |
489 |
of implementing HTML revision 1320. |
490 |
|
491 |
2008-03-07 Wakaba <wakaba@suika.fam.cx> |
492 |
|
493 |
* HTML.pm.src: Simplified "generate implied end tag" (HTML5 |
494 |
revision 1320). |
495 |
|
496 |
2008-03-07 Wakaba <wakaba@suika.fam.cx> |
497 |
|
498 |
* HTML.pm.src (_tree_construction_main): Merge rules for "h1" |
499 |
and "div" (HTML5 revision 1318). Add comments to where |
500 |
|form| pointer association codes should be inserted (HTML5 revision |
501 |
1319). |
502 |
|
503 |
2008-03-06 Wakaba <wakaba@suika.fam.cx> |
504 |
|
505 |
* HTML.pm.src: <html> treatement refined (HTML5 revision 1314). |
506 |
|
507 |
2008-03-05 Wakaba <wakaba@suika.fam.cx> |
508 |
|
509 |
* HTML.pm.src: Since the case t268 should never be reached (no |
510 |
other token type, there are), it is replaced by a |die| statement. |
511 |
|
512 |
2008-03-05 Wakaba <wakaba@suika.fam.cx> |
513 |
|
514 |
* HTML.pm.src: Typo fixed. |
515 |
|
516 |
2008-03-04 Wakaba <wakaba@suika.fam.cx> |
517 |
|
518 |
* HTML.pm.src (_tree_construction_initial): Some limited quirks |
519 |
doctypes were not uppercased for comparison. |
520 |
|
521 |
2008-03-03 Wakaba <wakaba@suika.fam.cx> |
522 |
|
523 |
* HTML.pm.src (tree construction and set_inner_html): Checkpoints |
524 |
are added. |
525 |
|
526 |
2008-03-03 Wakaba <wakaba@suika.fam.cx> |
527 |
|
528 |
* HTML.pm.src (_tokenize_attempt_to_consume_an_entity): Checkpoints |
529 |
are set. Cases that are unlikely reached are noted as so. |
530 |
|
531 |
2008-03-03 Wakaba <wakaba@suika.fam.cx> |
532 |
|
533 |
* HTML.pm.src: Checkpoints for debugging are added. |
534 |
|
535 |
* mkhtmlparser.pl: Support for |!!!cp| syntax. |
536 |
|
537 |
2008-03-03 Wakaba <wakaba@suika.fam.cx> |
538 |
|
539 |
* HTML.pm.src, mkhtmlparser.pl: s/_input_character/_char/g |
540 |
for simplicity. |
541 |
|
542 |
2008-03-03 Wakaba <wakaba@suika.fam.cx> |
543 |
|
544 |
* HTML.pm.src: Flag name changed: s/correct/force-quirks/g (HTML5 |
545 |
revision 1307). |
546 |
|
547 |
2008-03-03 Wakaba <wakaba@suika.fam.cx> |
548 |
|
549 |
* HTML.pm.src (_get_next_token): Where the /incorrect/ flag |
550 |
is set are changed (HTML5 revision 1305). |
551 |
|
552 |
2008-03-02 Wakaba <wakaba@suika.fam.cx> |
553 |
|
554 |
* HTML.pm.src: Raise a parse error for |<span ===>| (HTML5 revision |
555 |
1292). Entities are not parsed in comment-like part in RCDATA |
556 |
elements (HTML5 revision 1294). Allow bare & at the end |
557 |
of attribute value literals (HTML5 revision 1296). More |
558 |
quirks mode doctypes (HTML5 revision 1302). Requires spaces |
559 |
between attributes and ban attribute names or unquoted |
560 |
attribute values containing single or double quotes (HTML5 |
561 |
revision 1303). |
562 |
|
563 |
2008-03-02 Wakaba <wakaba@suika.fam.cx> |
564 |
|
565 |
* ContentChecker.pm: Typo fixed. Don't raise "character encoding" |
566 |
and related errors unless it is an HTML document (though the spec |
567 |
is unclear on whether it is applied to XHTML document). |
568 |
|
569 |
* HTML.pm (%HTMLAttrStatus): WF2 repetition model attributes |
570 |
are added. |
571 |
|
572 |
2008-03-02 Wakaba <wakaba@suika.fam.cx> |
573 |
|
574 |
* HTML.pm.src: s/local_name/manakai_local_name/g. |
575 |
|
576 |
2008-03-01 Wakaba <wakaba@suika.fam.cx> |
577 |
|
578 |
* _NamedEntityList.pm: Updated (HTML5 revision 1286). |
579 |
|
580 |
* HTML.pm.src: |charset| in |content| attribute is |
581 |
case-insensitive (HTML5 revision 1270). |
582 |
|
583 |
2008-02-26 Wakaba <wakaba@suika.fam.cx> |
584 |
|
585 |
* ContentChecker.pm: New status constants are added. |
586 |
($ElementDefault): |status| added. |
587 |
(check_element): Err for non-standard or deprecated elements. |
588 |
(_attr_status_info): For non-standard or deprecated attributes. |
589 |
|
590 |
2008-02-24 Wakaba <wakaba@suika.fam.cx> |
591 |
|
592 |
* ContentChecker.pm (_attr_status_info): New internal method. |
593 |
|
594 |
2008-02-24 Wakaba <wakaba@suika.fam.cx> |
595 |
|
596 |
* ContentChecker.pm (check_element): Element standardized |
597 |
status information is now dispatched. |
598 |
|
599 |
2008-02-24 Wakaba <wakaba@suika.fam.cx> |
600 |
|
601 |
* ContentChecker.pm (check_element): Fix |del|-and-significant |
602 |
problem by adding some more arguments. |
603 |
|
604 |
2008-02-24 Wakaba <wakaba@suika.fam.cx> |
605 |
|
606 |
* ContentChecker.pm (check_element): Use context of |
607 |
container-for-the-purpose-of-content-model element (not transparent |
608 |
element) for |check_child_element| calling and significant |
609 |
text flag marking. This reintroduces |<del>|-and-significant |
610 |
problem again. |
611 |
|
612 |
2008-02-24 Wakaba <wakaba@suika.fam.cx> |
613 |
|
614 |
* ContentChecker.pm (check_element): Make semi-transparent |
615 |
elements ignored for the purpose of phase changes in |
616 |
content model checking. |
617 |
|
618 |
2008-02-23 Wakaba <wakaba@suika.fam.cx> |
619 |
|
620 |
* ContentChecker.pm (check_element): In-element state |
621 |
was not properly managed for transparent cases. |
622 |
|
623 |
2008-02-23 Wakaba <wakaba@suika.fam.cx> |
624 |
|
625 |
* ContentChecker.pm (check_element): Support for |video| |
626 |
and |audio| as semi-transparent elements. |
627 |
|
628 |
2008-02-23 Wakaba <wakaba@suika.fam.cx> |
629 |
|
630 |
* ContentChecker.pm ($HTMLSemiTransparentElements): New. |
631 |
(check_element): s/minuses/minus_elements/, s/pluses/plus_elements/. |
632 |
Support for |html:object| as a semi-transparent element. |
633 |
|
634 |
2008-02-23 Wakaba <wakaba@suika.fam.cx> |
635 |
|
636 |
* ContentChecker.pm (check_element): The way to traverse |
637 |
the tree is entirely revised to make it easier to track |
638 |
the state of ancestors/descendants. As a result of this |
639 |
revision (which rewrites almost all of Whatpm::ContentChecker::HTML), |
640 |
support for content model checking for HTML elements |figure|, |
641 |
|object|, |video|, and |audio| and checking for XML elements (and |
642 |
some XMLNS checkings) are dropped for now. They will be |
643 |
reimplemented in due cource. |
644 |
|
645 |
2008-02-17 Wakaba <wakaba@suika.fam.cx> |
646 |
|
647 |
* HTML.pm.src: |>| in public or system literal closes the DOCTYPE |
648 |
token (HTML5 revision 1225). |
649 |
|
650 |
2008-02-17 Wakaba <wakaba@suika.fam.cx> |
651 |
|
652 |
* ContentChecker.pm ({unsupported_level}): New value. |
653 |
|
654 |
* HTML.pm.src: Save whether |meta| |content| attribute |
655 |
contains character references or not. |
656 |
|
657 |
2008-02-17 Wakaba <wakaba@suika.fam.cx> |
658 |
|
659 |
* ContentChecker.pm (_get_children): (Incompleted) attempt to |
660 |
imlement significant content checking for contents |
661 |
with |del| elements. |
662 |
|
663 |
2008-02-17 Wakaba <wakaba@suika.fam.cx> |
664 |
|
665 |
* ContenteChecker.pm ($HTMLTransparentElements): More |
666 |
elements are added. |
667 |
(_get_children): HTML |object| elements are now semi-transparent. |
668 |
|
669 |
* NanoDOM.pm (manakai_html, manakai_head): New methods. |
670 |
|
671 |
2008-02-16 Wakaba <wakaba@suika.fam.cx> |
672 |
|
673 |
* CacheManifest.pm: HTML5 revision 1211 implemented. |
674 |
|
675 |
* CacheManifest.pod: Updated. |
676 |
|
677 |
2008-02-10 Wakaba <wakaba@suika.fam.cx> |
678 |
|
679 |
* ContentChecker.pm (check_document, check_element): Support |
680 |
for second argument ($onsubdoc). |
681 |
(_get_css_parser): Removed (now it is part of WDCC). |
682 |
|
683 |
2008-02-09 Wakaba <wakaba@suika.fam.cx> |
684 |
|
685 |
* ContentChecker.pm (_get_css_parser): New. |
686 |
|
687 |
2007-11-25 Wakaba <wakaba@suika.fam.cx> |
688 |
|
689 |
* ContentChecker.pm ($AnyChecker): Old way to add child elements |
690 |
for checking had been used. |
691 |
|
692 |
2007-11-25 Wakaba <wakaba@suika.fam.cx> |
693 |
|
694 |
* ContentChecker.pm (check_element): New todo item type |descendant|. |
695 |
|
696 |
2007-11-23 Wakaba <wakaba@suika.fam.cx> |
697 |
|
698 |
* IMTChecker.pm: Revised to raise errors and warnings as (poorly) |
699 |
specced in RFC 2046 and RFC 4288. |
700 |
(application/atom+xml): Definition added. |
701 |
|
702 |
2007-11-23 Wakaba <wakaba@suika.fam.cx> |
703 |
|
704 |
* URIChecker.pm: Make RFC 3986 should-level errors |
705 |
warnings (rather than SHOULD-level errors). |
706 |
|
707 |
2007-11-23 Wakaba <wakaba@suika.fam.cx> |
708 |
|
709 |
* NanoDOM.pm (get_user_data, set_user_data): New methods. |
710 |
|
711 |
* HTML.pm.src: A flag for character references in attribute |
712 |
values are added. Set |manakai_has_reference| user data |
713 |
to |charset| attribute. |
714 |
|
715 |
2007-11-23 Wakaba <wakaba@suika.fam.cx> |
716 |
|
717 |
* NanoDOM.pm (input_encoding, manakai_charset, manakai_has_bom): New |
718 |
attributes. |
719 |
|
720 |
* ContentChecker.pm (check_document): Warn if charset requirements |
721 |
cannot be tested. |
722 |
|
723 |
2007-11-19 Wakaba <wakaba@suika.fam.cx> |
724 |
|
725 |
* HTML.pm.src (parse_byte_string): Detect charset |
726 |
by universalchardet if charset parameter is not specified. |
727 |
|
728 |
* Makefile (Charset-all, Charset-clean): New rules. |
729 |
|
730 |
2007-11-18 Wakaba <wakaba@suika.fam.cx> |
731 |
|
732 |
* ContentChecker.pm (check_document): Check the existence |
733 |
of character encoding declaration and selection of encoding |
734 |
for HTML document. |
735 |
|
736 |
2007-11-18 Wakaba <wakaba@suika.fam.cx> |
737 |
|
738 |
* ContentType.pm (get_sniffed_type): Return also the official |
739 |
type in list context. |
740 |
|
741 |
2007-11-18 Wakaba <wakaba@suika.fam.cx> |
742 |
|
743 |
* ContentType.pm: Sniffing with leading white space |
744 |
ignoring (HTML5 revisions 1013 and 1016). |
745 |
|
746 |
2007-11-18 Wakaba <wakaba@suika.fam.cx> |
747 |
|
748 |
* ContentType.pm: HTML5 revision 1013 changes, except for leading |
749 |
white spaces, are implemented. |
750 |
|
751 |
2007-11-11 Wakaba <wakaba@suika.fam.cx> |
752 |
|
753 |
* HTML.pm.src (parse_char_string): Set |inner_encoding| |
754 |
attribute if possible. |
755 |
|
756 |
2007-11-11 Wakaba <wakaba@suika.fam.cx> |
757 |
|
758 |
* HTML.pm.src (parse_byte_string): New method. |
759 |
(parse_char_string): New alias for |parse_string|. |
760 |
(main phase): Invoking "change the encoding" algorithm if desired. |
761 |
|
762 |
* HTML.pod: Updated. |
763 |
|
764 |
2007-11-11 Wakaba <wakaba@suika.fam.cx> |
765 |
|
766 |
* HTML.pod (get_inner_html): Removed. |
767 |
|
768 |
* Makefile (HTML-all, HTML-clean): New. |
769 |
|
770 |
2007-11-11 Wakaba <wakaba@suika.fam.cx> |
771 |
|
772 |
* HTML.pm.src (get_inner_html): Removed (moved to HTML/Serializer.pm). |
773 |
|
774 |
2007-11-08 Wakaba <wakaba@suika.fam.cx> |
775 |
|
776 |
* mklinktypelist.pl: s/noreferer/noreferrer/ (HTML5 revision 1132). |
777 |
|
778 |
2007-11-04 Wakaba <wakaba@suika.fam.cx> |
779 |
|
780 |
* Makefile: |CacheManifest.html| is added. |
781 |
|
782 |
* CacheManifest.pod: New file. |
783 |
|
784 |
2007-11-04 Wakaba <wakaba@suika.fam.cx> |
785 |
|
786 |
* CacheManifest.pm: New module. |
787 |
|
788 |
2007-11-04 Wakaba <wakaba@suika.fam.cx> |
789 |
|
790 |
* HTML.pm.src: Support for application cache selection algorithm |
791 |
callback. |
792 |
|
793 |
2007-11-04 Wakaba <wakaba@suika.fam.cx> |
794 |
|
795 |
* mklinktypelist.pl: Support for rel=noreferer (HTML5 revision 1118). |
796 |
|
797 |
2007-10-17 Wakaba <wakaba@suika.fam.cx> |
798 |
|
799 |
* Makefile (clean): New rule. |
800 |
|
801 |
* NanoDOM.pm (public_id, system_id): New attributes. |
802 |
|
803 |
2007-10-17 Wakaba <wakaba@suika.fam.cx> |
804 |
|
805 |
* Makefile (CSS-all, CSS-clean, clean): New rules. |
806 |
|
807 |
2007-10-14 Wakaba <wakaba@suika.fam.cx> |
808 |
|
809 |
* ContentChecker.pm (check_document): Support for |
810 |
new |is_xml_root| flag. |
811 |
(check_element): Support for new |pluses| state. |
812 |
(_add_pluses): New method. |
813 |
(_remove_minuses): Support for new |minus| item. |
814 |
|
815 |
2007-09-24 Wakaba <wakaba@suika.fam.cx> |
816 |
|
817 |
* ContentChecker.pm: Raise specific error for invalid |
818 |
root element. |
819 |
|
820 |
2007-09-24 Wakaba <wakaba@suika.fam.cx> |
821 |
|
822 |
* ContentChecker.pm: Set level values for later uses. |
823 |
|
824 |
2007-09-09 Wakaba <wakaba@suika.fam.cx> |
825 |
|
826 |
* ContentChecker.pm: Support for language tag validation. |
827 |
|
828 |
2007-09-09 Wakaba <wakaba@suika.fam.cx> |
829 |
|
830 |
* LangTag.pm (check_rfc3066_language_tag): New method. |
831 |
|
832 |
2007-09-09 Wakaba <wakaba@suika.fam.cx> |
833 |
|
834 |
* LangTag.pm: New module. |
835 |
|
836 |
2007-09-04 Wakaba <wakaba@suika.fam.cx> |
837 |
|
838 |
* HTML.pm.src: Some error types were wrong. |
839 |
|
840 |
2007-08-17 Wakaba <wakaba@suika.fam.cx> |
841 |
|
842 |
* CSS/: New directory. |
843 |
|
844 |
2007-08-17 Wakaba <wakaba@suika.fam.cx> |
845 |
|
846 |
* ContentChecker.pm (_check_get_children): Support |
847 |
for |noscript| in |head|. |
848 |
|
849 |
2007-08-12 Wakaba <wakaba@suika.fam.cx> |
850 |
|
851 |
* URI/: New directory. |
852 |
|
853 |
2007-08-11 Wakaba <wakaba@suika.fam.cx> |
854 |
|
855 |
* HTML.pm.src: Tokenizer's states are now represented in |
856 |
number. |
857 |
|
858 |
2007-08-11 Wakaba <wakaba@suika.fam.cx> |
859 |
|
860 |
* HTML.pm.src: |or|s for insertion modes are replaced |
861 |
by |&|s. |
862 |
|
863 |
2007-08-11 Wakaba <wakaba@suika.fam.cx> |
864 |
|
865 |
* HTML.pm.src: Token types are now represented in number. |
866 |
|
867 |
2007-08-11 Wakaba <wakaba@suika.fam.cx> |
868 |
|
869 |
* ContentType.pm (SEE ALSO): Updated. |
870 |
|
871 |
* HTML.pm.src: Insertion modes are now represented in number. |
872 |
|
873 |
2007-08-11 Wakaba <wakaba@suika.fam.cx> |
874 |
|
875 |
* ContentType.pm: Sniffing for bitmap images (HTML5 revision |
876 |
999) is implemented. |
877 |
|
878 |
2007-08-08 Wakaba <wakaba@suika.fam.cx> |
879 |
|
880 |
* ContentType.pm: Sniffing for |<script| (HTML5 revision |
881 |
983) is implemented. |
882 |
|
883 |
2007-08-06 Wakaba <wakaba@suika.fam.cx> |
884 |
|
885 |
* ContentChecker.pod: New documentation. |
886 |
|
887 |
* Makefile: A rule for |ContentChecker.html| is added. |
888 |
|
889 |
* ContentChecker.pm: A pod "LICENSE" section is added. |
890 |
|
891 |
* NanoDOM.pm ($VERSION): New variable. |
892 |
|
893 |
2007-08-05 Wakaba <wakaba@suika.fam.cx> |
894 |
|
895 |
* H2H.pm: |b|, |i|, and |sub| are added to the |
896 |
list of allowed HTML elements. |
897 |
|
898 |
2007-08-05 Wakaba <wakaba@suika.fam.cx> |
899 |
|
900 |
* H2H.pm: |samp| is added to the list of allowed |
901 |
HTML elements. |
902 |
|
903 |
* URIChecker.pm (check_iri): New. |
904 |
(check_iri_reference): Error type for IRI reference |
905 |
syntax error is changed. |
906 |
|
907 |
2007-08-04 Wakaba <wakaba@suika.fam.cx> |
908 |
|
909 |
* ContentChecker.pm: Reference to the |Whatpm::ContentChecker::Atom| |
910 |
is added. |
911 |
(check_document): Load appropriate module before validation. |
912 |
|
913 |
2007-08-04 Wakaba <wakaba@suika.fam.cx> |
914 |
|
915 |
* ContentChecker/: New directory. |
916 |
|
917 |
2007-08-04 Wakaba <wakaba@suika.fam.cx> |
918 |
|
919 |
* ContentChecker.pm: HTML |time| element is implemented. |
920 |
|
921 |
* HTMLTable.pm: Comments are updated as HTML5 is revised. |
922 |
|
923 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
924 |
|
925 |
* ContentChecker.pm (check_document): Return value |
926 |
even if no document element is found. |
927 |
|
928 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
929 |
|
930 |
* HTML.pm.src: |$in_body| is no longer a function. |
931 |
|
932 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
933 |
|
934 |
* HTML.pm.src: The |$in_body| code has been moved down. |
935 |
|
936 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
937 |
|
938 |
* HTML.pm.src: The "trailing end" insertion mode |
939 |
is split into "after html body" and "after html frameset" |
940 |
insertion modes. Their codes are merged with "after body" |
941 |
and "after frameset" codes. |$previous_insertion_mode| |
942 |
has been removed. "after frameset" code is |
943 |
merged with "in frameset" code. |
944 |
|
945 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
946 |
|
947 |
* HTML.pm.src: The "before head" insertion mode is |
948 |
merged with the "in head" insertion mode. |
949 |
|
950 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
951 |
|
952 |
* HTML.pm.src: Cases in "in head" insertion mode are |
953 |
reorganized. |
954 |
|
955 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
956 |
|
957 |
* HTML.pm.src: Some cases in "in table" insertion mode |
958 |
are merged. |
959 |
|
960 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
961 |
|
962 |
* HTML.pm.src: The "in row" insertion mode is merged |
963 |
with "in table" insertion mode. |
964 |
|
965 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
966 |
|
967 |
* HTML.pm.src: The "in table" and "in table body" insertion |
968 |
modes are merged. |
969 |
|
970 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
971 |
|
972 |
* HTML.pm.src: There is no "in table head" or "in table foot" |
973 |
insertion mode! |
974 |
|
975 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
976 |
|
977 |
* HTML.pm.src: |<noframes>| "in frameset" and "in noframes" |
978 |
now directly invoke the handler. |
979 |
|
980 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
981 |
|
982 |
* HTML.pm.src: Codes for "in cell" insertion mode |
983 |
is merged to the "in body" insertion mode code. |
984 |
|
985 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
986 |
|
987 |
* HTML.pm.src: Codes for "in body" and "in caption" |
988 |
insertion modes are merged. |
989 |
|
990 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
991 |
|
992 |
* HTML.pm.src: Two |!!!next-token|s were missing. |
993 |
|
994 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
995 |
|
996 |
* HTML.pm.src: Use numeric constant for |{content_mode}| |
997 |
instead of string constant for |{content_model_flag}|. |
998 |
|
999 |
2007-07-21 Wakaba <wakaba@suika.fam.cx> |
1000 |
|
1001 |
* HTML.pm.src: Add the name of the attribute |
1002 |
to the "duplicate attribute" error. |
1003 |
|
1004 |
2007-07-17 Wakaba <wakaba@suika.fam.cx> |
1005 |
|
1006 |
* ContentChecker.pm: Return the |class| node list. |
1007 |
|
1008 |
2007-07-17 Wakaba <wakaba@suika.fam.cx> |
1009 |
|
1010 |
* ContentChecker.pm: Return the |id| node list. |
1011 |
|
1012 |
* HTML.pm.src: A typo is fixed. |
1013 |
|
1014 |
2007-07-16 Wakaba <wakaba@suika.fam.cx> |
1015 |
|
1016 |
* ContentChecker.pm: Drop wrong |level => 'error'| specification |
1017 |
from "in HTML:xml:lang" error. Character position |
1018 |
is now the last part of the error type in the URI error |
1019 |
description. Report "unsupported" status for language |
1020 |
tags, media queries, script codes, and style sheets. |
1021 |
|
1022 |
2007-07-16 Wakaba <wakaba@suika.fam.cx> |
1023 |
|
1024 |
* ContentChecker.pm: Report error if |xml:lang| |
1025 |
in HTML, |lang| in XML, |xmlns| in XML, and |meta| |charset| |
1026 |
in XML. |
1027 |
|
1028 |
* NanoDOM.pm (Attr.owner_document): New attribute. |
1029 |
|
1030 |
2007-07-16 Wakaba <wakaba@suika.fam.cx> |
1031 |
|
1032 |
* HTML.pm.src: The character immediately following |
1033 |
a bare |hcro| was discarded. Fix handling of |
1034 |
entity references in attribute values. |
1035 |
|
1036 |
2007-07-16 Wakaba <wakaba@suika.fam.cx> |
1037 |
|
1038 |
* HTML.pm.src (main and trailin end phases): Token |
1039 |
types |DOCTYPE|, |comment|, |end-of-file|, and |<html>| are |
1040 |
factored out. Error types |in html:#DOCTYPE| |
1041 |
and |after html:#DOCTYPE| are merged |
1042 |
into |DOCTYPE in the middle|. |</frameset>| |
1043 |
in fragment parsing mode changed the |
1044 |
insertion mode. |
1045 |
|
1046 |
2007-07-16 Wakaba <wakaba@suika.fam.cx> |
1047 |
|
1048 |
* HTML.pm.src: |$phase| has been removed; The |trailing end| |
1049 |
phase is now an insertion mode. Treatments for white |
1050 |
space character tokens were incorrect for some |
1051 |
insertion modes. An old |meta| case was not removed. |
1052 |
|
1053 |
2007-07-16 Wakaba <wakaba@suika.fam.cx> |
1054 |
|
1055 |
* HTML.pm.src: |meta| charset declaration extraction |
1056 |
implemented (but changing the encoding is not yet:-). |
1057 |
|
1058 |
2007-07-15 Wakaba <wakaba@suika.fam.cx> |
1059 |
|
1060 |
* Charset/: New directory. |
1061 |
|
1062 |
2007-07-15 Wakaba <wakaba@suika.fam.cx> |
1063 |
|
1064 |
* H2H.pm: New Perl module (created from |
1065 |
manakai's H2H.dis). |
1066 |
|
1067 |
2007-07-15 Wakaba <wakaba@suika.fam.cx> |
1068 |
|
1069 |
* XMLSerializer.pm: New Perl module (created from |
1070 |
manakai's SimpleLS.dis). |
1071 |
|
1072 |
2007-07-07 Wakaba <wakaba@suika.fam.cx> |
1073 |
|
1074 |
* HTML.pm.src: |<!---x-->| was not processed correctly. |
1075 |
|
1076 |
2007-07-01 Wakaba <wakaba@suika.fam.cx> |
1077 |
|
1078 |
* HTML.pm.src: Report correct error message |
1079 |
for |<body></div></body>|. |
1080 |
|
1081 |
2007-07-01 Wakaba <wakaba@suika.fam.cx> |
1082 |
|
1083 |
* HTMLTable.pm: An error description was incorrect. |
1084 |
|
1085 |
2007-06-30 Wakaba <wakaba@suika.fam.cx> |
1086 |
|
1087 |
* ContentChecker.pm: Return |{term}| list. |
1088 |
|
1089 |
2007-06-30 Wakaba <wakaba@suika.fam.cx> |
1090 |
|
1091 |
* HTML.pm.src: HTML5 revisions 961-966 (</p>, </br>, |
1092 |
nested <nobr>, implied </tbody>, </tfoot>, and </thead>, |
1093 |
and <title> outside of head). |
1094 |
|
1095 |
2007-06-30 Wakaba <wakaba@suika.fam.cx> |
1096 |
|
1097 |
* IMTChecker.pm: Report warning for unregistered |
1098 |
and private types/subtypes. |
1099 |
|
1100 |
* ContentChecker.pm, HTML.pm.src, IMTChecker.pm, |
1101 |
URIChecker.pm, HTMLTable.pm: Error messages are now |
1102 |
consistent; they are all listed in |
1103 |
<http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>. |
1104 |
|
1105 |
2007-06-25 Wakaba <wakaba@suika.fam.cx> |
1106 |
|
1107 |
* ContentChecker.pm: |<img ismap>| not in |<a></a>| |
1108 |
is now erred. |<datalist>| is implemented. |
1109 |
Attribute checker for |<command>| and |<menu>| are |
1110 |
added. Support for |contextmenu| global attribute |
1111 |
is added. |
1112 |
|
1113 |
2007-06-25 Wakaba <wakaba@suika.fam.cx> |
1114 |
|
1115 |
* HTML.pm.src (_reset_insertion_mode): Interpretation |
1116 |
of Step 3 has been changed. |
1117 |
|
1118 |
2007-06-25 Wakaba <wakaba@suika.fam.cx> |
1119 |
|
1120 |
* HTML.pm.src: Late |<html>| parse error is implemented. |
1121 |
|
1122 |
2007-06-24 Wakaba <wakaba@suika.fam.cx> |
1123 |
|
1124 |
* URIChecker.pm (check_iri_reference): A |decode| method name was |
1125 |
incorrect. |
1126 |
|
1127 |
* ContentChecker.pm: Support for the |footer| element. |
1128 |
Check URI syntax for space-separated URI attributes. |
1129 |
Support for the |tabindex| attribute. Support |
1130 |
for |datetime| attribute. |
1131 |
|
1132 |
2007-06-24 Wakaba <wakaba@suika.fam.cx> |
1133 |
|
1134 |
* HTML.pm.src: HTML5 revision 1.144 (
) and 1.145 (invalid |
1135 |
character references). HTML5 revision 1.146 (white space |
1136 |
characters before root start tag). HTML5 revision |
1137 |
1.148 (named character references in attribute values). |
1138 |
HTML5 revision 1.152 (<plaintext>.innerHTML get). |
1139 |
|
1140 |
2007-06-24 Wakaba <wakaba@suika.fam.cx> |
1141 |
|
1142 |
* HTML.pm.src: HTML5 revisions 1.142 and 1.143 (<noscript> |
1143 |
in <head>). |
1144 |
|
1145 |
2007-06-24 Wakaba <wakaba@suika.fam.cx> |
1146 |
|
1147 |
* HTML.pm.src: HTML5 revision 935 (<base>, <link>, <meta> |
1148 |
in body). |
1149 |
|
1150 |
* ContentChecker.pm: HTML5 revision 938 (scoped=""). |
1151 |
|
1152 |
2007-06-24 Wakaba <wakaba@suika.fam.cx> |
1153 |
|
1154 |
* HTML.pm.src: HTML5 revision 923 (matching end tag in CDATA |
1155 |
or RCDATA in fragment parsing mode). HTML5 revision |
1156 |
924 (<!--> and <!--->). HTML5 revision 926 (hn in hn). |
1157 |
|
1158 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1159 |
|
1160 |
* HTML.pm.src (get_inner_html): HTML5 revision 922 (inner_html |
1161 |
for <pre> and <textarea>). |
1162 |
|
1163 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1164 |
|
1165 |
* HTML.pm.src: HTML5 revision 920 (<isindex>). |
1166 |
|
1167 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1168 |
|
1169 |
* HTML.pm.src: HTML5 revision 918 (</head>, </body>, </html>). |
1170 |
|
1171 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1172 |
|
1173 |
* HTML.pm.src: HTML5 revision 916 (</body>). |
1174 |
HTML5 revision 917 (conforming bare &). |
1175 |
|
1176 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1177 |
|
1178 |
* NanoDOM.pm (manakai_is_html): Setting to false did not work. |
1179 |
|
1180 |
* HTML.pm.src: HTML5 revision 914 (</ in CDATA, RCDATA). |
1181 |
HTML5 revision 915 (<nobr>). |
1182 |
|
1183 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1184 |
|
1185 |
* HTML.pm.src: HTML5 revisions 908, 909, 912, and 913 (quirks mode). |
1186 |
|
1187 |
* NanoDOM.pm (manakai_is_html, manakai_compat_mode, compat_mode): |
1188 |
New attributes. |
1189 |
|
1190 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1191 |
|
1192 |
* HTML.pm.src: HTML5 revisions 900, 901, 902, and 911 (< |
1193 |
in tags). |
1194 |
|
1195 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1196 |
|
1197 |
* .cvsignore: |Entities.html| is added. |
1198 |
|
1199 |
* HTML.pm.src: |$entity_char| is removed and |
1200 |
requires |Whatpm::_NamedEntityList| instead. |
1201 |
HTML5 revision 898 (refc), except that lack of refc |
1202 |
is parse error. |
1203 |
|
1204 |
* mkentitylist.pl: New script. |
1205 |
|
1206 |
* Makefile (all): |_NamedEntityList.pm| is added. |
1207 |
(_NamedEntityList.pm, Entities.html): New rules. |
1208 |
|
1209 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1210 |
|
1211 |
* HTML.pm.src: Parse errors immediately after U+000D |
1212 |
were ignored and U+000D immediately following another |
1213 |
U+000D was not converted to U+000A. |
1214 |
|
1215 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1216 |
|
1217 |
* HTML.pm.src (set_inner_html): HTML5 revision 892 (adopt |
1218 |
nodes before appended). Parser was not ready for NULL |
1219 |
parse error and escape flag. |
1220 |
|
1221 |
* NanoDOM.pm (adopt_node): New. |
1222 |
|
1223 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1224 |
|
1225 |
* HTML.pm.src: HTML5 revision 886 (insane comment in |
1226 |
CDATA and RCDATA). Note that current implementation |
1227 |
is simply repeating what the spec says and it is maybe not |
1228 |
a best way to do it. |
1229 |
|
1230 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1231 |
|
1232 |
* HTML.pm.src: HTML5 revision 884 (</form> don't close |
1233 |
the form element if a descendant element without implied end tag has |
1234 |
still been open). |
1235 |
|
1236 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1237 |
|
1238 |
* ContentChecker.pm: HTML5 revision 881 (Make |id| attribute with |
1239 |
space characters non-conforming). |
1240 |
|
1241 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1242 |
|
1243 |
* HTML.pm.src: An error message was incorrect. |
1244 |
HTML5 revision 869 (C1 character references). |
1245 |
|
1246 |
2007-06-23 Wakaba <wakaba@suika.fam.cx> |
1247 |
|
1248 |
* HTML.pm.src: HTML5 revision 867 (a LF at the beginning of |
1249 |
a |textarea| is removed). |
1250 |
|
1251 |
2007-06-05 Wakaba <wakaba@suika.fam.cx> |
1252 |
|
1253 |
* NanoDOM.pm (get_attribute_node_ns): New method. |
1254 |
|
1255 |
* ContentChecker.pm: |script| |async| and |defer| |
1256 |
no longer require |src|. |async| MUST NOT be |
1257 |
specified if |defer|. (HTML5 revision 858). |
1258 |
|
1259 |
2007-05-30 Wakaba <wakaba@suika.fam.cx> |
1260 |
|
1261 |
* HTML.pm.src: |<form><form>| went to inifinite loop. |
1262 |
|
1263 |
2007-05-27 Wakaba <wakaba@suika.fam.cx> |
1264 |
|
1265 |
* ContentChecker.pm (html): Set |is_root| (allowed |
1266 |
as a document element) flag on. |
1267 |
(new): Removed. |
1268 |
(check_document): New method. |
1269 |
|
1270 |
2007-05-27 Wakaba <wakaba@suika.fam.cx> |
1271 |
|
1272 |
* ContentChecker.pm (thead, tfoot): Checker specifications |
1273 |
were incorrect. |
1274 |
|
1275 |
2007-05-27 Wakaba <wakaba@suika.fam.cx> |
1276 |
|
1277 |
* ContentChecker.pm ($HTMLURIAttrChecker): Include |
1278 |
error position in the |type| option of the error. |
1279 |
|
1280 |
* HTMLTable.pm (form_table): The |$onerror| parameter |
1281 |
is now optional. Some bugs are fixed. |
1282 |
|
1283 |
2007-05-27 Wakaba <wakaba@suika.fam.cx> |
1284 |
|
1285 |
* HTMLTable.pm: New module. |
1286 |
|
1287 |
* ContentChecker.pm (table): Invoke table model error checker. |
1288 |
|
1289 |
* NanoDOM.pm (first_child, get_attribute_ns): New. |
1290 |
|
1291 |
2007-05-26 Wakaba <wakaba@suika.fam.cx> |
1292 |
|
1293 |
* ContentChecker.pm ($HTMLLinkTypesAttrChecker): New checker. |
1294 |
(link/@rel, a/@rel, area/@rel): Use new checker. |
1295 |
|
1296 |
* Makefile (_LinkTypeList.pm, RelExtensions.html): New rules. |
1297 |
|
1298 |
* _LinkTypeList.pm: New file. |
1299 |
|
1300 |
* mklinktypelist.pl: New file. |
1301 |
|
1302 |
* .cvsignore: |RelExtensions.html| added. |
1303 |
|
1304 |
* NanoDOM.pm (child_nodes): Returns an empty array |
1305 |
for non-child-containing node types. |
1306 |
(text_content): New attribute. |
1307 |
|
1308 |
2007-05-26 Wakaba <wakaba@suika.fam.cx> |
1309 |
|
1310 |
* IMTChecker.pm: New module. |
1311 |
|
1312 |
* ContentChecker.pm ($HTMLIMTAttrChecker): Call IMTChecker |
1313 |
to test parameter value validity. |
1314 |
|
1315 |
* HTML.pm.src ($style_start_tag): Attributes were |
1316 |
discarded. |
1317 |
|
1318 |
2007-05-25 Wakaba <wakaba@suika.fam.cx> |
1319 |
|
1320 |
* ContentChecker.pm ($HTMLURIAttrChecker): Implemented. |
1321 |
|
1322 |
2007-05-25 Wakaba <wakaba@suika.fam.cx> |
1323 |
|
1324 |
* URIChecker.pm: All recommendations from RFC 3986 |
1325 |
and RFC 3987 are listed (not all testable items are checked yet). |
1326 |
|
1327 |
2007-05-25 Wakaba <wakaba@suika.fam.cx> |
1328 |
|
1329 |
* URIChecker.pm: New module. |
1330 |
|
1331 |
2007-05-20 Wakaba <wakaba@suika.fam.cx> |
1332 |
|
1333 |
* ContentChecker.pm: Now most attributes are implemented |
1334 |
or associated to some placeholder. |
1335 |
($ElementDefault): Warn unknown attributes |
1336 |
for unknown elements as "attribute not supported". |
1337 |
($HTMLLanguageTagAttrChecker, $HTMLMQAttrChecker): New placeholders. |
1338 |
($HTMLUsemapAttrChecker, $HTMLTargetAttrChecker): New checkers. |
1339 |
(|a| attribute checker): Reimplemented. |
1340 |
|
1341 |
2007-05-20 Wakaba <wakaba@suika.fam.cx> |
1342 |
|
1343 |
* ContentChecker.pm ($HTMLEventHandlerAttrChecker): New placeholder. |
1344 |
($HTMLAttrChecker): Event handler content attributes |
1345 |
are added. |
1346 |
(link, embed): Required attribute is now checked. |
1347 |
(embed): Unknown local attributes are no longer warned. |
1348 |
|
1349 |
2007-05-20 Wakaba <wakaba@suika.fam.cx> |
1350 |
|
1351 |
* ContentChecker.pm ($HTMLSpaceURIsAttrChecker): New placeholder. |
1352 |
($HTMLIMTAttrChecker): New checker. |
1353 |
(link@rel, link@href, link@type, style@type, |
1354 |
a@href, a@ping, a@ping, a@type, embed@src, embed@type, |
1355 |
object@data, object@type, source@src, source@type, area@alt, |
1356 |
area@shape, area@coords, area@href, |
1357 |
area@ping, area@rel, area@type, script@src, |
1358 |
script@defer, script@async, script@type): Checkers added. |
1359 |
|
1360 |
2007-05-20 Wakaba <wakaba@suika.fam.cx> |
1361 |
|
1362 |
* ContentChecker.pm: Descendant checking was incorrect. |
1363 |
|
1364 |
2007-05-19 Wakaba <wakaba@suika.fam.cx> |
1365 |
|
1366 |
* ContentChecker.pm: Support |xml:*| and |xmlns:*| |
1367 |
attributes. Report an error if |Element.prefix| |
1368 |
is |xmlns|. |
1369 |
|
1370 |
* NanoDOM.pm (prefix): New attribute. |
1371 |
|
1372 |
2007-05-19 Wakaba <wakaba@suika.fam.cx> |
1373 |
|
1374 |
* HTML.pm.src: In |main| phase, |in body| insertion |
1375 |
mode, action for |<iframe>| was missing. |
1376 |
|
1377 |
2007-05-19 Wakaba <wakaba@suika.fam.cx> |
1378 |
|
1379 |
* ContentChecker.pm: Support for many of HTML5 elements. |
1380 |
($GetHTMLNonNegativeIntegerAttrChecker): New. |
1381 |
|
1382 |
2007-05-19 Wakaba <wakaba@suika.fam.cx> |
1383 |
|
1384 |
* ContentChecker.pm: Support for most elements up to |progress|. |
1385 |
($HTMLURIAttrChecker): Placeholder. |
1386 |
($HTMLIntegerAttrChecker, $GetHTMLFloatingPointNumberAttrChecker): |
1387 |
New. |
1388 |
|
1389 |
2007-05-19 Wakaba <wakaba@suika.fam.cx> |
1390 |
|
1391 |
* ContentChecker.pm: Attribute checkers |
1392 |
for global attributes, |html|, |base|, |style|, and |meta|. |
1393 |
|
1394 |
* NanoDOM.pm (insert_before): Weaken reference |
1395 |
to the parent node. |
1396 |
(Attr::new): Set |owner_element| attribute. |
1397 |
(namespace_uri, manakai_local_name): New attribute implementations. |
1398 |
(owner_element): New attribute. |
1399 |
|
1400 |
2007-05-19 Wakaba <wakaba@suika.fam.cx> |
1401 |
|
1402 |
* ContentChecker.pm ($AttrChecker, $HTMLAttrChecker, |
1403 |
$AnyChecker->{attr_checker}, $HTMLAttrsChecker, |
1404 |
$Element->{$HTML_NS}->{''}): New. |
1405 |
(check_element): Invoke attrs_checker for each element. |
1406 |
|
1407 |
2007-05-13 Wakaba <wakaba@suika.fam.cx> |
1408 |
|
1409 |
* ContentChecker.pm: Don't use |manakai_element_type_match|. |
1410 |
|
1411 |
2007-05-13 Wakaba <wakaba@suika.fam.cx> |
1412 |
|
1413 |
* ContentChecker.pm: Use hashs rather than lists for |
1414 |
element type testings. |
1415 |
|
1416 |
2007-05-13 Wakaba <wakaba@suika.fam.cx> |
1417 |
|
1418 |
* ContentChecker.pm: Don't generate duplicate |
1419 |
error when an element type is put in the "minus" list |
1420 |
and the element type is not allowed explicitly in the particular |
1421 |
element content model. |
1422 |
(html:a checker): New checker. |
1423 |
(html:details, html:datagrid): New checkers. |
1424 |
(html:legend): New checker. |
1425 |
|
1426 |
2007-05-13 Wakaba <wakaba@suika.fam.cx> |
1427 |
|
1428 |
* ContentChecker.pm (html:li checker): Implemented. |
1429 |
|
1430 |
2007-05-13 Wakaba <wakaba@suika.fam.cx> |
1431 |
|
1432 |
* ContentChecker.pm ($HTMLInlineOrStriclyInlineChecker): New |
1433 |
checker. |
1434 |
(html:dd checker): New checker. |
1435 |
(html:q, html:em, html:strong, html:small, |
1436 |
html:m, html:dfn, html:code, html:samp, html:span): New checkers. |
1437 |
|
1438 |
2007-05-13 Wakaba <wakaba@suika.fam.cx> |
1439 |
|
1440 |
* ContentChecker.pm ($AnyChecker): Renamed |
1441 |
from |$ElementDefault->{checker}|. |
1442 |
($ElementDefault->{checker}): Throw an error that |
1443 |
the element type is not supported by the checker. |
1444 |
($HTMLMetadataElement): |html:base| was missing. |
1445 |
($HTMLEmptyChecker): Don't throw an error |
1446 |
for inter-element whitespace nodes. |
1447 |
(html:html checker): Errors were not |
1448 |
thrown even if |html:head| and/or |html:body| |
1449 |
children were missing. |
1450 |
(html:head checker): An error was not |
1451 |
thrown if <meta charset> appered after other |
1452 |
elements. |
1453 |
|
1454 |
2007-05-05 Wakaba <wakaba@suika.fam.cx> |
1455 |
|
1456 |
* ContentChecker.pm: |footer|, |video|, |audio|, |script|, |
1457 |
and |noscript| elements are implemented. |
1458 |
(new): New method. |
1459 |
|
1460 |
2007-05-04 Wakaba <wakaba@suika.fam.cx> |
1461 |
|
1462 |
* ContentChecker.pm: New module. |
1463 |
|
1464 |
2007-05-04 Wakaba <wakaba@suika.fam.cx> |
1465 |
|
1466 |
* NanoDOM.pm (manakai_parent_element, |
1467 |
document_element, manakai_local_name, |
1468 |
manakai_element_type_match): New method. |
1469 |
|
1470 |
2007-05-03 Wakaba <wakaba@suika.fam.cx> |
1471 |
|
1472 |
* HTML.pm.src: Replace decimal and hexadecimal numeric |
1473 |
entities in C1 range using Windows-1252 mapping. Bare LF |
1474 |
did not count as new line for error reporting. |
1475 |
|
1476 |
2007-05-02 Wakaba <wakaba@suika.fam.cx> |
1477 |
|
1478 |
* NanoDOM.pm (DOMImplementation): New class. |
1479 |
(append_child): Weaken the |parent_node| reference. |
1480 |
(create_element_ns, Element new): Set the |owner_document| |
1481 |
reference. |
1482 |
(implementation): New attribute. |
1483 |
(owner_document, local_name, namespace_uri): New attributes. |
1484 |
|
1485 |
* HTML.pm.src (parse_string): Line and column numbers |
1486 |
are now provided to error handler. |
1487 |
(!!!parse-error): Short descriptions are added. |
1488 |
(_construct_tree): Split into three methods; support |
1489 |
for innerHTML mode. |
1490 |
(set_inner_html): New method. |
1491 |
|
1492 |
2007-05-01 Wakaba <wakaba@suika.fam.cx> |
1493 |
|
1494 |
* NanoDOM.html: Documentation is added. |
1495 |
|
1496 |
* HTML.pod, ContentType.html: Documentation is revised. |
1497 |
|
1498 |
* .cvsignore: Pod2html temporary files are added. |
1499 |
|
1500 |
* Makefile: Make |NanoDOM.html|. |
1501 |
|
1502 |
2007-05-01 Wakaba <wakaba@suika.fam.cx> |
1503 |
|
1504 |
* HTML.pm.src (parse_string): New method. |
1505 |
(get_inner_html): Renamed from |inner_html|. |
1506 |
|
1507 |
* Makefile: A rule for |HTML.html| is added. |
1508 |
|
1509 |
* HTML.pod: New documentation. |
1510 |
|
1511 |
2007-05-01 Wakaba <wakaba@suika.fam.cx> |
1512 |
|
1513 |
* NanoDOM.pm (last_child, previous_sibling): New attributes. |
1514 |
(clone_node): Attribute nodes were not completely copied. |
1515 |
|
1516 |
* HTML.pm.src: Many bugs are fixed. |
1517 |
|
1518 |
2007-04-30 Wakaba <wakaba@suika.fam.cx> |
1519 |
|
1520 |
* HTML.pm.src: Some typos are fixed. |
1521 |
|
1522 |
2007-04-30 Wakaba <wakaba@suika.fam.cx> |
1523 |
|
1524 |
* mkhtmlparser.pl, Makefile: References to the |HTML-consume-entity.src| |
1525 |
are removed. |
1526 |
|
1527 |
* HTML.pm.src: Tokenizer's handling on named entities are rewritten. |
1528 |
|
1529 |
* HTML-consume-entity.src: Removed. |
1530 |
|
1531 |
2007-04-30 Wakaba <wakaba@suika.fam.cx> |
1532 |
|
1533 |
* HTML.pm.src: Tokenizer's handling on hexadecimal |
1534 |
numeric entities are rewritten. |
1535 |
|
1536 |
2007-04-30 Wakaba <wakaba@suika.fam.cx> |
1537 |
|
1538 |
* HTML.pm.src: Some tokenizer bugs are fixed. |
1539 |
|
1540 |
2007-04-30 Wakaba <wakaba@suika.fam.cx> |
1541 |
|
1542 |
* HTML.pm.src: The tree construction stage is implemented. |
1543 |
|
1544 |
* mkhtmlparser.pl: New macros are added. |
1545 |
|
1546 |
2007-04-28 Wakaba <wakaba@suika.fam.cx> |
1547 |
|
1548 |
* ContentType.pm: A note on bug in the specification |
1549 |
is removed since it's been now fixed. |
1550 |
|
1551 |
* .cvsignore: New file. |
1552 |
|
1553 |
2007-04-28 Wakaba <wakaba@suika.fam.cx> |
1554 |
|
1555 |
* HTML.pm.src, HTML-consume-entity.src: New files. |
1556 |
|
1557 |
* Makefile (HTML.pm): New rule. |
1558 |
|
1559 |
* mkhtmlparser.pl: New script. |
1560 |
|
1561 |
2007-04-25 Wakaba <wakaba@suika.fam.cx> |
1562 |
|
1563 |
* Makefile: New file. |
1564 |
|
1565 |
2007-04-24 Wakaba <wakaba@suika.fam.cx> |
1566 |
|
1567 |
* ContentType.pm: An error in pod is fixed. |
1568 |
|
1569 |
2007-04-24 Wakaba <wakaba@suika.fam.cx> |
1570 |
|
1571 |
* ContentType.pm: Documentation is added. |
1572 |
|
1573 |
2007-04-24 Wakaba <wakaba@suika.fam.cx> |
1574 |
|
1575 |
* ContentType.pm: New Perl module. |
1576 |
|
1577 |
* ChangeLog: New file. |
1578 |
|
1579 |
|