/[suikacvs]/markup/html/whatpm/Whatpm/ChangeLog
Suika

Contents of /markup/html/whatpm/Whatpm/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.313 - (show annotations) (download)
Mon Sep 15 09:02:27 2008 UTC (17 years, 9 months ago) by wakaba
Branch: MAIN
Changes since 1.312: +5 -0 lines
++ whatpm/Whatpm/ChangeLog	15 Sep 2008 09:02:14 -0000
	* HTML.pm.src, mkhtmlparser.pl: Replace |{prev_char}|
	by |{s_kwd}| in DATA_STATE.

2008-09-15  Wakaba  <wakaba@suika.fam.cx>

1 2008-09-15 Wakaba <wakaba@suika.fam.cx>
2
3 * HTML.pm.src, mkhtmlparser.pl: Replace |{prev_char}|
4 by |{s_kwd}| in DATA_STATE.
5
6 2008-09-15 Wakaba <wakaba@suika.fam.cx>
7
8 * HTML.pm.src: Shorten keys.
9
10 2008-09-15 Wakaba <wakaba@suika.fam.cx>
11
12 * HTML.pm.src: Remove checking for control character, surrogate
13 pair, or noncharacter code points and non-Unicode code
14 points (they should be handled by Whatpm::Charset::UnicodeChecker).
15 (parse_char_stream): Support for the |$get_wrapper| argument and
16 character stream error handlers.
17
18 2008-09-15 Wakaba <wakaba@suika.fam.cx>
19
20 * ContentChecker.pm: Don't call |loda_ns_module|
21 for null-namespace elements/attributes.
22
23 * HTML.pm.src: Fact out $disallowed_control_chars
24 as a hash.
25
26 2008-09-14 Wakaba <wakaba@suika.fam.cx>
27
28 * HTML.pm.src: Regexp typo fixed. |{prev_char}|
29 and |{next_char}| initializations are moved to initialization
30 method. |{read_until}| now supports buffering. Sync |set_inner_html|
31 with |parse_char_stream|.
32
33 2008-09-14 Wakaba <wakaba@suika.fam.cx>
34
35 * HTML.pm.src (parse_char_stream): Make |set_next_char|
36 invoke |manakai_read_until|, not only |read|, where
37 possible, to decrease the number of |read| method calls.
38
39 * mkhtmlparser.pl: Related changes to the aforementioned
40 modification.
41
42 2008-09-14 Wakaba <wakaba@suika.fam.cx>
43
44 * HTML.pm.src: Use |read| instead of |getc|. |set_inner_html|
45 would report character error from now.
46
47 2008-09-14 Wakaba <wakaba@suika.fam.cx>
48
49 * HTML.pm.src: White-space-leaded non-white-space character
50 tokens in "before head insertion mode" was not
51 correctly handled.
52 (set_inner_html): Reimplemented using CharString decodehandle
53 class. Support for $get_wrapper argument. Support
54 for |{read_until}| feature.
55
56 2008-09-14 Wakaba <wakaba@suika.fam.cx>
57
58 * HTML.pm.src: Make a "bare ero" error for unknown
59 entities point the "&" character.
60
61 2008-09-14 Wakaba <wakaba@suika.fam.cx>
62
63 * HTML.pm.src: It turns out that U+FFFD don't have to
64 be added to the list of excluded characters.
65
66 2008-09-14 Wakaba <wakaba@suika.fam.cx>
67
68 * HTML.pm.src ($char_onerror): Have character decoder's |line|
69 and |column| a higher priority than the one set by the
70 tokenizer's input handler.
71 ($self->{read_until}): Exclude U+FFFD (but this might
72 not be necessary, since now we do line/column fixup in
73 the character decode handle).
74
75 2008-09-14 Wakaba <wakaba@suika.fam.cx>
76
77 * HTML.pm.src: Use |{read_until}| where possible.
78
79 2008-09-14 Wakaba <wakaba@suika.fam.cx>
80
81 * HTML.pm.src: Change |{getc_until}| to |{read_until}|
82 and |manakai_getc_until| to |manakai_read_until| to
83 reduce the number of string copies.
84
85 2008-09-14 Wakaba <wakaba@suika.fam.cx>
86
87 * HTML.pm.src (parse_char_string): Use newly created
88 |Whatpm::Charset::DecodeHandle::CharString| instead of Perl's
89 standard feature to |open| a string as a filehandle,
90 since Perl's string filehandle seems not supporting |ungetc|
91 method correctly.
92 (parse_char_stream): Define |{getc_until}| method.
93 (DATA_STATE): Experimental support for |getc_until| feature.
94
95 2008-09-13 Wakaba <wakaba@suika.fam.cx>
96
97 * HTML.pm.src: Check points added to newly added branches.
98
99 2008-09-13 Wakaba <wakaba@suika.fam.cx>
100
101 * HTML.pm.src: Remove |{char}|, which is no longer used.
102 Remove |{entity_in_attr}| and |{last_attribute_value_state}|
103 and replaced by |{prev_state}|.
104
105 * mkhtmlparser.pl: Remove |{char}| feature.
106 Remove |!!!back-next-input-character;| macro.
107
108 2008-09-13 Wakaba <wakaba@suika.fam.cx>
109
110 * HTML.pm.src: Finally we get rid of all the inner loops. Remove
111 entity related tokenizer states in favor of new states
112 implementing the consume character reference algorithm.
113
114 2008-09-13 Wakaba <wakaba@suika.fam.cx>
115
116 * HTML.pm.src: "Consume a character reference" algorithm is
117 now implemented as a tokenizer's state, rather than
118 a method, with minimum changes (more changes will
119 be made, in due course). "Bogus comment state"'s inner
120 loop gets removed.
121
122 2008-09-13 Wakaba <wakaba@suika.fam.cx>
123
124 * HTML.pm.src: Make |PUBLIC| and |SYSTEM| keyword tokenizing
125 into their own tokenizer states.
126
127 2008-09-13 Wakaba <wakaba@suika.fam.cx>
128
129 * HTML.pm.src: |CDATA_SECTION_STATE| (formally |CDATA_BLOCK_STATE|
130 is split into three states.
131
132 2008-09-13 Wakaba <wakaba@suika.fam.cx>
133
134 * HTML.pm.src: |CLOSE_TAG_OPEN_STATE| is broken into
135 itself and new |CDATA_PCDATA_CLOSE_TAG_STATE| so that
136 no longer does the tokenizer have to push back next input
137 characters in those states.
138
139 2008-09-13 Wakaba <wakaba@suika.fam.cx>
140
141 * HTML.pm.src: |MARKUP_DECLARATION_OPEN_STATE| broken
142 into four states so that no longer does the tokenizer have to push
143 back next input characters in that state.
144
145 2008-09-11 Wakaba <wakaba@suika.fam.cx>
146
147 * HTML.pm.src: Methods now accept additional parameter, $get_wrapper,
148 which can be used to insert some wrapper between the character
149 stream handle and the tokenizer. (It is currently not supported
150 for |set_inner_html| for |Element|s).
151
152 2008-09-10 Wakaba <wakaba@suika.fam.cx>
153
154 * HTML.pm.src: Ignore punctuations in charset names.
155
156 2008-09-10 Wakaba <wakaba@suika.fam.cx>
157
158 * ContentChecker.pm: Support for charset-layer error levels.
159
160 * HTML.pm.src: Don't specify |text| argument for the
161 |chardecode:fallback| error, since it is not the encoding
162 being used alternatively.
163
164 2008-09-06 Wakaba <wakaba@suika.fam.cx>
165
166 * HTML.pm.src: Support for |XSLT-compat| (HTML5 revision 2141).
167
168 2008-08-31 Wakaba <wakaba@suika.fam.cx>
169
170 * CacheManifest.pm: Support for extensibility (HTML5 revision 2051).
171
172 2008-08-31 Wakaba <wakaba@suika.fam.cx>
173
174 * HTML.pm.src: Bug fix and sync with the spec with regard
175 to after after frameset insertion mode processing (HTML5
176 revision 1909). Note that the implementation was wrong
177 per the old spec before the r1909 changes.
178
179 2008-08-30 Wakaba <wakaba@suika.fam.cx>
180
181 * HTMLTable.pm: scope=auto algorithm fix synced with the
182 spec (HTML5 revision 2093).
183 ($process_row): Algorithm step numbers synced with the
184 spec (HTML5 revision 2092).
185
186 2008-08-30 Wakaba <wakaba@suika.fam.cx>
187
188 * HTMLTable.pm: Zs is not what we want; we want White_Space! (HTML5
189 revision 2094).
190
191 2008-08-30 Wakaba <wakaba@suika.fam.cx>
192
193 * ContentType.pm: Support for image/svg+xml (HTML5 revision 2096).
194
195 2008-08-30 Wakaba <wakaba@suika.fam.cx>
196
197 * HTML.pm.src: '"' and "'" at the end of attribute
198 name (after another attribute) now raise parse error (HTML5
199 revision 2123). Empty unquoted attribute values are no
200 longer allowed (HTML5 revision 2122).
201
202 2008-08-30 Wakaba <wakaba@suika.fam.cx>
203
204 * mkhtmlparser.pl: Support for MathML |definitionURL| attribute (HTML5
205 revision 2130).
206
207 2008-08-30 Wakaba <wakaba@suika.fam.cx>
208
209 * ContentChecker.pm: |xml:lang| attribute value must be same
210 as |lang| attribute value for HTML elements (HTML5 revision 2062
211 and so on).
212
213 2008-08-30 Wakaba <wakaba@suika.fam.cx>
214
215 * ContentChecker.pm: Error level definition for |xml_id_error|
216 was missing.
217
218 * URIChecker.pm: The end of the URL should be marked as the
219 error location for an empty path error. The position
220 between the userinfo and the port components should be
221 marked as the error location for an empty host error.
222
223 2008-08-30 Wakaba <wakaba@suika.fam.cx>
224
225 * URIChecker.pm: Set parameters representing where in the
226 value the error occurs for errors. Report unknown
227 address format error in warning level, since address
228 formats are rarely added. Path segments starting with "/.."
229 were misinterpreted as a dot-segment.
230
231 2008-08-30 Wakaba <wakaba@suika.fam.cx>
232
233 * URIChecker.pm (check_iri_reference): Requires
234 |Message::DOM::DOMImplementation|.
235
236 2008-08-29 Wakaba <wakaba@suika.fam.cx>
237
238 * IMTChecker.pm: Updated for the new error reporting architecture.
239
240 * ContentChecker.pm: Error levels for IMTs are added.
241
242 2008-08-17 Wakaba <wakaba@suika.fam.cx>
243
244 * H2H.pm (_shift_token): Support for unquoted HTML attribute
245 values.
246
247 2008-08-16 Wakaba <wakaba@suika.fam.cx>
248
249 * CacheManifest.pm: Support for new style of error
250 reports.
251
252 * HTML.pm.src: Set line=1, column=1 to the document node.
253
254 2008-08-16 Wakaba <wakaba@suika.fam.cx>
255
256 * ContentChecker.pm, RDFXML.pm: Pass {level} object to language tag
257 and URL checkers. Support for more error levels for bogus
258 langauge tag and URL "standards".
259
260 * LangTag.pm, URIChecker.pm: Support for new style error
261 level reporting.
262
263 2008-08-15 Wakaba <wakaba@suika.fam.cx>
264
265 * ContentChecker.pm: Support for RDF/XML error levels.
266
267 * HTMLTable.pm, RDFXML.pm: Support for new style of error level
268 specifying. Error types are revised.
269
270 2008-08-15 Wakaba <wakaba@suika.fam.cx>
271
272 * ContentChecker.pm: All error reporting method calls are
273 renewed.
274
275 2008-08-15 Wakaba <wakaba@suika.fam.cx>
276
277 * HTML.pm.src: All error type names and "text" parameters
278 are revised. Use new style for "level" specification.
279
280 * mkhtmlparser.pl: Use new style for "level" specification.
281
282 2008-08-03 Wakaba <wakaba@suika.fam.cx>
283
284 * WebIDL.pm (parse_char_string): Simplified error
285 reporting process for broken ignored valuetype definition.
286 (Valuetype idl_text): Support for special "DOMString" name.
287
288 2008-08-03 Wakaba <wakaba@suika.fam.cx>
289
290 * WebIDL.pm ($get_scoped_name): Append "::::" if the last
291 terminal of the ScopedName is "DOMString", such that whether
292 the last part of the scoped name is "DOMString" or "_DOMString"
293 later. It is necessary to determine whether a |typedef|
294 definition should be ignored or not.
295 (parse_char_string): Unescape the identifier of
296 exception members.
297 ($resolve): Return undef for builtin types and sequence<T>
298 types (we might not have to do this, however...).
299 (check): Support checking for Exceptions, Valuetypes,
300 and Typedefs.
301 ($serialize_type): Support for "DOMString::::" syntax.
302 (Typedef idl_text): Output Type as "DOMString" if it
303 is really "DOMString" (i.e. its internal representation
304 is "::DOMString::").
305
306 2008-08-03 Wakaba <wakaba@suika.fam.cx>
307
308 * WebIDL.pm ($resolve): New code, based on resolve code
309 for constant types in the |check| method.
310 (check): Support for checking of attributes, operations, and
311 arguments.
312 (Attribute/Operation idl_text): Exception names in getraises,
313 setraises, and raises clauses is serizlied by |$serialize_type|
314 code.
315
316 2008-08-02 Wakaba <wakaba@suika.fam.cx>
317
318 * WebIDL.pm ($integer): Order of selections are changed to match
319 hexadecimal numbers (the original pattern, taken from the spec,
320 was not work for hexadecimal numbers, because the "0" prefix
321 matches to the [0-7]* part (as an empty string) and therefore
322 it does not match with remaining "x..." part of a "0x..." integer
323 literal.
324 ($get_type): It now returns a string, not an array reference,
325 for regular types and |sequence| types (i.e. it in any case
326 returns a string).
327 ($get_next_token): The second item in the array that represents
328 a integer or float token is now a Perl number value, not the
329 original string representation of the number.
330 (check): Support for const value consistency checking.
331 No extended attribute is defined for constants.
332 (Node subclasses): Use simple strings rather than array references
333 for default data type values.
334 ($serialize_type): Type values are now simple strings.
335 (value): If the new attribute value is a false value, then
336 a FALSE value is set to the attribute.
337
338 2008-08-02 Wakaba <wakaba@suika.fam.cx>
339
340 * WebIDL.pm ($get_scoped_name): Now scoped names are stored
341 in its stringified format ("scoped name" as defined in the
342 spec). Note that future version of this module should not use
343 array references for type values and the |type_text| attribute
344 should be made obsolete.
345 (parse_char_string): Unescape attribute names.
346 (check): Support for checking of whether inherited interfaces
347 are actually defined or not. Support for checking of whether
348 interface member identifiers are duplicated or not.
349 ($serialize_type): Scoped names are returned as is. A future
350 version of this code should escape identifiers other than "DOMString",
351 otherwise the idl_text would be non-conforming.
352
353 2008-08-02 Wakaba <wakaba@suika.fam.cx>
354
355 * WebIDL.pm (parse_char_string): Set line/column numbers
356 to generated nodes. Unescape identifiers. Extended attributes
357 for Definition's were ignored.
358 (append_child): Set |parent_node| attribute.
359 (parent_node): New attribute.
360 (check): Support interface/exception members. Support
361 extended attributes. Support definition identifier uniqueness
362 constraint.
363 (qualified_name): New attribute.
364 (Interface/Exception idl_text): Extended attributes were
365 not prepended to the returned text.
366
367 2008-08-02 Wakaba <wakaba@suika.fam.cx>
368
369 * WebIDL.pm (parse_char_string): Set line/column numbers
370 to interface object experimentally. s/shift/pop/g, shift
371 would make things wrong. Support for interface forward
372 declarations was missing. Broken interface declarations
373 with no block were not ignored entirely.
374 (Whatpm::WebIDL::Node): New abstract class. This class
375 makes things easier.
376 (child_nodes): New attribute. Unlike DOM's attribute with
377 same name, this attribute returns a dead list of nodes for
378 simplicity.
379 (get_user_data, set_user_data): New methods.
380 (Module idl_text): A SPACE character should be inserted
381 before the |{| character.
382 (Interface idl_text): Support for interface forward declarations.
383 (is_forward_declaration): New attribute.
384
385 2008-07-19 Wakaba <wakaba@suika.fam.cx>
386
387 * WebIDL.pm (type_text): Better serializer.
388
389 2008-07-19 Wakaba <wakaba@suika.fam.cx>
390
391 * WebIDL.pm: Revise forward-compatible parsing so that
392 it now can handle broken extended attributes and as such.
393
394 2008-07-19 Wakaba <wakaba@suika.fam.cx>
395
396 * WebIDL.pm: Real support for extended attributes.
397 Support for extended attributes with arguments.
398
399 2008-07-19 Wakaba <wakaba@suika.fam.cx>
400
401 * WebIDL.pm: Support for |exception| syntax.
402 (Interface->idl_text): Tentative support for inheritances.
403
404 2008-07-19 Wakaba <wakaba@suika.fam.cx>
405
406 * WebIDL.pm: Hierarchical scoped name support was broken.
407 Support for raises, setraises, and getraises syntaxes.
408
409 2008-07-18 Wakaba <wakaba@suika.fam.cx>
410
411 * WebIDL.pm: Support for |idl_text| attribute, version 1 (no
412 proper support for types, extended attributes, and exceptions yet).
413 WebIDL parser, version 1 (no support for exceptions yet,
414 no proper support for extended attributes yet).
415
416 2008-07-09 Wakaba <wakaba@suika.fam.cx>
417
418 * WebIDL.pm (parse_char_string): Support for basic attribute syntax.
419
420 2008-06-29 Wakaba <wakaba@suika.fam.cx>
421
422 * WebIDL.pm: Support for valuetype and const.
423
424 2008-06-29 Wakaba <wakaba@suika.fam.cx>
425
426 * WebIDL.pm: New module.
427
428 2008-06-15 Wakaba <wakaba@suika.fam.cx>
429
430 * Makefile (Entities.html): URI changed.
431
432 2008-06-08 Wakaba <wakaba@suika.fam.cx>
433
434 * HTML.pm.src: Support for ruby parsing (HTML5 revision 1704).
435
436 2008-06-01 Wakaba <wakaba@suika.fam.cx>
437
438 * HTML.pm.src (_get_next_token): A parse error was missing.
439
440 2008-06-01 Wakaba <wakaba@suika.fam.cx>
441
442 * mklinktypelist.pl: rel=contact is no longer part of the HTML5
443 spec (commented out). (HTML5 revision 1711).
444
445 2008-05-25 Wakaba <wakaba@suika.fam.cx>
446
447 * ContentType.pm: Drop support for UTF-32 (HTML5 revision 1701).
448
449 * HTML.pm.src: UTF-16BE and UTF-16LE should be considered
450 as UTF-16 (HTML5 revision 1701).
451
452 2008-05-25 Wakaba <wakaba@suika.fam.cx>
453
454 * HTML.pm.src: Support for <noframes> in <head> (HTML5 revision
455 1692).
456
457 2008-05-25 Wakaba <wakaba@suika.fam.cx>
458
459 * HTML.pm.src: The secondary insertion mode used when switching
460 to foreign content is the "in body" insertion mode (HTML5 revision
461 1696).
462
463 2008-05-25 Wakaba <wakaba@suika.fam.cx>
464
465 * HTML.pm.src: Don't raise parse error for <isindex/> (HTML5
466 revision 1697).
467
468 2008-05-24 Wakaba <wakaba@suika.fam.cx>
469
470 * HTML.pm.src: Support for end-of-file token in foreign content
471 insertion mode (HTML5 revision 1693). Update SVG camelCase
472 attribute list (HTML5 revision 1700). <textarea> closes
473 </select> (HTML5 revision 1699). More start tags close in
474 foreign content insertion mode (HTML5 revision 1698).
475
476 2008-05-24 Wakaba <wakaba@suika.fam.cx>
477
478 * HTML.pm.src: ";" is not part of charset name (HTML5 revision 1665).
479
480 2008-05-24 Wakaba <wakaba@suika.fam.cx>
481
482 * HTML.pm.src: More robust charset parameter detection (HTML5
483 revision 1674).
484
485 2008-05-24 Wakaba <wakaba@suika.fam.cx>
486
487 * ContentType.pm: Support for image/vnd.microsoft.icon (HTML5
488 revision 1676).
489
490 2008-05-24 Wakaba <wakaba@suika.fam.cx>
491
492 * HTML.pm.src: Ignore language part of public identifiers for
493 quriks mode detection (HTML5 revision 1679).
494
495 2008-05-24 Wakaba <wakaba@suika.fam.cx>
496
497 * HTML.pm.src: Reduce the number of errors in truncated doctypes (HTML5
498 revision 1685).
499
500 2008-05-24 Wakaba <wakaba@suika.fam.cx>
501
502 * HTML.pm.src: Support for EOF in new states for tags (HTML5
503 revision 1684).
504
505 2008-05-24 Wakaba <wakaba@suika.fam.cx>
506
507 * HTML.pm.src (_reset_insertion_mode): Make <td>.innerHTML
508 work (HTML5 revision 1690).
509
510 2008-05-24 Wakaba <wakaba@suika.fam.cx>
511
512 * HTML.pm.src (_tree_construction_main): Change handling of
513 end tags in head insertion modes (HTML5 revision 1686).
514 (parse_char_string): Bug fix for non-utf8 character string handlings.
515 (parse_char_stream): |ungetc| does not work well for this context.
516
517 2008-05-18 Wakaba <wakaba@suika.fam.cx>
518
519 * HTML.pm.src (parse_byte_string): Redefined to invoke
520 |parse_byte_stream|.
521 (parse_byte_stream): New method.
522
523 2008-05-18 Wakaba <wakaba@suika.fam.cx>
524
525 * HTML.pm.src (parse_byte_string): Fix the column number reported
526 by encoding layer error reporter.
527
528 2008-05-17 Wakaba <wakaba@suika.fam.cx>
529
530 * HTML.pm.src (parse_byte_string): Use streaming decoder
531 rather than converting the whole byte string and then parsing.
532 Propagate errors in character encoding layer.
533 (get_next_token): Precise error reporting for |bare stago| error.
534
535 2008-05-17 Wakaba <wakaba@suika.fam.cx>
536
537 * HTML.pm.src (parse_char_stream): New method.
538 (parse_char_string): This method is now defined as an invocation
539 of the |parse_char_stream| method.
540
541 2008-05-17 Wakaba <wakaba@suika.fam.cx>
542
543 * HTML.pm.src (parse_byte_string): Report various status
544 of the sniffing as info-level errors. Support for new
545 decoding framework in parser resestting.
546 (new): Various default error levels were not set.
547
548 2008-05-17 Wakaba <wakaba@suika.fam.cx>
549
550 * HTML.pm.src (parse_byte_string): HTML5 encoding siniffing
551 algorithm, except for the actual sniffing, is implemented
552 with new framework with Message::Charset::Info.
553
554 2008-05-16 Wakaba <wakaba@suika.fam.cx>
555
556 * CacheManifest.pm (_parse): Drop fragment identifiers from
557 URIs in fallback section (HTML5 revision 1596).
558
559 2008-05-10 Wakaba <wakaba@suika.fam.cx>
560
561 * Makefile (Entities.html): URI has changed.
562
563 2008-05-10 Wakaba <wakaba@suika.fam.cx>
564
565 * CacheManifest.pm: Don't replace U+0000 NULL (HTML5 revision
566 1553).
567
568 2008-05-06 Wakaba <wakaba@suika.fam.cx>
569
570 * ContentChecker.pm: Noted that those returned in |table| are
571 no longer table elements, but table objects returned
572 by Whatpm::HTMLTable.
573
574 * HTMLTable.pm (form_table): Return table element node
575 as |$table->{element}|.
576 (assign_header): Support for the |headers=""| attribute.
577
578 2008-05-06 Wakaba <wakaba@suika.fam.cx>
579
580 * HTMLTable.pm (assign_header): New function; first version
581 with no support for headers="".
582 (form_table): Include table width and height to the returned
583 table object for covenience. Indexing in column assignement was wrong.
584 Set whether a data cell is empty or not for convenience.
585
586 2008-05-05 Wakaba <wakaba@suika.fam.cx>
587
588 * HTMLTable.pm: Robuster caption support (HTML5 revision 1393).
589
590 2008-05-05 Wakaba <wakaba@suika.fam.cx>
591
592 * HTMLTable.pm: How table model errors are detected is
593 changed (HTML5 revision 1387).
594
595 2008-05-05 Wakaba <wakaba@suika.fam.cx>
596
597 * HTMLTable.pm: The algorithm now moves |tfoot| elements
598 to the end of the table (HTML5 revision 1380).
599
600 2008-05-05 Wakaba <wakaba@suika.fam.cx>
601
602 * HTMLTable.pm: The algorithm is now 0-based indexing, instead
603 of 1-based (HTML5 revision 1376).
604
605 2008-05-05 Wakaba <wakaba@suika.fam.cx>
606
607 * ContentType.pm: "Content-Type: text/plain; charset=UTF-8"
608 and "Content-Encoding" no longer prevent sniffing (HTML5
609 revision 1288).
610
611 2008-05-05 Wakaba <wakaba@suika.fam.cx>
612
613 * ContentType.pm: Skip BOMs n feed or HTML algorithm (HTML5 revision
614 1282).
615
616 2008-05-03 Wakaba <wakaba@suika.fam.cx>
617
618 * ContentChecker.pm: Support for global attributes.
619 Status of XML specs are added.
620
621 2008-05-03 Wakaba <wakaba@suika.fam.cx>
622
623 * ContentChecker.pm (check_element): Support for |template=""|
624 and |ref=""| attribute (referent element type checking).
625
626 2008-04-29 Wakaba <wakaba@suika.fam.cx>
627
628 * CacheManifest.pm (_parse): New same origin definition (HTML5 revision
629 1500) is implemented (except for IDNA part and URI-scheme-specific
630 knowledge). Line number counting was wrong for LF-only
631 documents.
632
633 2008-04-13 Wakaba <wakaba@suika.fam.cx>
634
635 * HTML.pm.src: Raise an parse error for any disallowed
636 character (HTML5 revision 1263).
637
638 2008-04-13 Wakaba <wakaba@suika.fam.cx>
639
640 * mkentitylist.pl: Support for new HTML5 entity table format (the
641 definition for |AElig;| was missing).
642
643 2008-04-13 Wakaba <wakaba@suika.fam.cx>
644
645 * HTML.pm.src, mkhtmlparser.pl: Support for element/attribute
646 name/namespace fixup (HTML5 revisions 1413, 1415, 1416, and 1417).
647
648 2008-04-13 Wakaba <wakaba@suika.fam.cx>
649
650 * HTML.pm.src: List of element names that close foreign content
651 insertion mode is added (HTML5 revisions 1412 and 1418).
652
653 2008-04-13 Wakaba <wakaba@suika.fam.cx>
654
655 * HTML.pm.src: Support for |mglyph| and |malignmark|
656 elements (HTML5 revision 1410).
657
658 2008-04-13 Wakaba <wakaba@suika.fam.cx>
659
660 * HTML.pm.src: Support for new long MathML entities (HTML5
661 revision 1406).
662
663 2008-04-13 Wakaba <wakaba@suika.fam.cx>
664
665 * HTML.pm.src: CDATA section support for MathML and SVG
666 elements (HTML5 revision 1404 and 1420).
667
668 2008-04-12 Wakaba <wakaba@suika.fam.cx>
669
670 * HTML.pm.src, mkhtmlparser.pl: Support for MathML and SVG
671 elements (HTML5 revision 1404). Unused !!!macro definitions
672 are removed.
673
674 2008-04-12 Wakaba <wakaba@suika.fam.cx>
675
676 * HTML.pm.src, mkhtmlparser.pl: The way permitted slash errors
677 are raised is changed (HTML5 revision 1404).
678
679 2008-04-06 Wakaba <wakaba@suika.fam.cx>
680
681 * HTML.pm.src: Category sets that are no longer used are removed.
682
683 2008-04-06 Wakaba <wakaba@suika.fam.cx>
684
685 * HTML.pm.src: The ->[1] property of stack entries are now
686 replaced by constants representing element category.
687
688 2008-04-06 Wakaba <wakaba@suika.fam.cx>
689
690 * HTML.pm.src: Don't use local name stored in stack (i.e. ->[1])
691 for error reporting. (This is a preparation for using constant
692 value for ->[1].)
693
694 2008-03-22 Wakaba <wakaba@suika.fam.cx>
695
696 * RDFXML.pm: Typo fixed.
697
698 2008-03-22 Wakaba <wakaba@suika.fam.cx>
699
700 * ContentChecker.pm: |fact_level| is now treated
701 as same as |must_level|, i.e. level = |m|.
702 (check_element): Make list of URIs in the DOM.
703
704 2008-03-21 Wakaba <wakaba@suika.fam.cx>
705
706 * RDFXML.pm: Language accessor implemented.
707 Local (null-namespace) attribute support.
708
709 2008-03-21 Wakaba <wakaba@suika.fam.cx>
710
711 * RDFXML.pm: Factored out ID checking code.
712
713 2008-03-21 Wakaba <wakaba@suika.fam.cx>
714
715 * RDFXML.pm: TODO items noted. Validation of ID
716 and URI attributes is implemented. Warn if unknown
717 value is used in rdf:parseType="" attribute.
718
719 * URIChecker.pm (check_rdf_uri_reference): New function.
720
721 2008-03-21 Wakaba <wakaba@suika.fam.cx>
722
723 * RDFXML.pm: bnodeid implemented. Relative references
724 are now resolved.
725
726 2008-03-21 Wakaba <wakaba@suika.fam.cx>
727
728 * ContentChecker.pm: RDF reification implemented.
729
730 * RDFXML.pm: undef vs false bug fixed.
731 Reification implemented.
732
733 2008-03-21 Wakaba <wakaba@suika.fam.cx>
734
735 * RDFXML.pm: s/id/ID/ for attribute name.
736 The |node| arguments are added for |ontriple| calls.
737 Too many "attribute not allowed" errors were raised.
738
739 * ContentChecker.pm: Initial experimental support for rdf:RDF
740 element.
741
742 2008-03-21 Wakaba <wakaba@suika.fam.cx>
743
744 * RDFXML.pm: New module.
745
746 2008-03-20 Wakaba <wakaba@suika.fam.cx>
747
748 * HTML.pm.src (set_inner_html): Line/column number
749 code was old one yet.
750
751 2008-03-20 Wakaba <wakaba@suika.fam.cx>
752
753 * HTML.pm.src: Better line/column reporting for "duplicate attribute"
754 errors. Line/column markings for DOCTYPE, comment, and
755 character tokens are reintroduced; otherwise,
756 error location for "not HTML5" error and errors
757 for implied elements are not attached.
758
759 2008-03-20 Wakaba <wakaba@suika.fam.cx>
760
761 * HTML.pm.src: Set line/column numbers to attributes.
762
763 * NanoDOM.pm (create_attribute_ns, set_attribute_node_ns): Added.
764 (value): Setter implemented.
765
766 * mkhtmlparser.pl: Set line/column numbers to Attr nodes.
767
768 2008-03-20 Wakaba <wakaba@suika.fam.cx>
769
770 * HTML.pm.src: Unused line/column markings are removed.
771
772 2008-03-20 Wakaba <wakaba@suika.fam.cx>
773
774 * HTML.pm.src (_get_next_token): Remove |first_start_tag|
775 flag, which is no longer used.
776
777 2008-03-17 Wakaba <wakaba@suika.fam.cx>
778
779 * HTML.pm.src: Set line/column information to element nodes.
780
781 * mkhtmlparser.pl (!!!create-element, !!!insert-element,
782 and !!!insert-element-t): Set line/column information to
783 element nodes.
784
785 2008-03-17 Wakaba <wakaba@suika.fam.cx>
786
787 * HTML.pm.src (_get_next_token): The first "<" character
788 in "<?", "<>", or "</>" should be the error point.
789
790 2008-03-16 Wakaba <wakaba@suika.fam.cx>
791
792 * HTML.pm.src: Some more fixes on error position reporting.
793
794 2008-03-16 Wakaba <wakaba@suika.fam.cx>
795
796 * HTML.pm.src: Token-level precious error reporting.
797
798 2008-03-16 Wakaba <wakaba@suika.fam.cx>
799
800 * HTML.pm.src: Preparation for more precious error point
801 reporting.
802
803 2008-03-11 Wakaba <wakaba@suika.fam.cx>
804
805 * HTML.pm.src: Error type revised.
806
807 2008-03-11 Wakaba <wakaba@suika.fam.cx>
808
809 * HTML.pm.src: Similar codes are merged together, again.
810
811 2008-03-11 Wakaba <wakaba@suika.fam.cx>
812
813 * HTML.pm.src: Similar codes are merged together.
814
815 2008-03-10 Wakaba <wakaba@suika.fam.cx>
816
817 * mkhtmlparser.pl: Set "level" parameter to parse errors.
818
819 * HTML.pm.src: Code refined.
820
821 2008-03-09 Wakaba <wakaba@suika.fam.cx>
822
823 * HTML.pm.src: |</body>| treatement has been changed (HTML5
824 revision 1348). Note that I really don't know this makes
825 any difference in the black-box behavior of the parser.
826
827 2008-03-09 Wakaba <wakaba@suika.fam.cx>
828
829 * HTML.pm.src: New end-of-file token implementation (HTML5
830 revision 1348).
831
832 2008-03-09 Wakaba <wakaba@suika.fam.cx>
833
834 * HTML.pm.src: |applet| support (HTML5 revision 1347).
835
836 2008-03-09 Wakaba <wakaba@suika.fam.cx>
837
838 * HTML.pm.src: Foster parenting in AAA (HTML5 revision 1343).
839
840 2008-03-09 Wakaba <wakaba@suika.fam.cx>
841
842 * HTML.pm.src: Support for |<input>| in the "in select" insertion
843 mode and support for the "in select in table" insertion mode (HTML5
844 revision 1342).
845
846 2008-03-09 Wakaba <wakaba@suika.fam.cx>
847
848 * HTML.pm.src: No foster parenting for <script> and <script>
849 in non-tainted <table>s (HTML5 revision 1336).
850
851 2008-03-09 Wakaba <wakaba@suika.fam.cx>
852
853 * HTML.pm.src: Ignore white space characters between <html>
854 and <head> (HTML5 revision 1332).
855
856 2008-03-09 Wakaba <wakaba@suika.fam.cx>
857
858 * HTML.pm.src: Treat <input type=hidden> as if it were a
859 white space (HTML5 revision 1331).
860
861 2008-03-08 Wakaba <wakaba@suika.fam.cx>
862
863 * HTML.pm.src: Ignore U+000A at the beginning of a |listing|
864 element (HTML5 revision 1330).
865
866 2008-03-08 Wakaba <wakaba@suika.fam.cx>
867
868 * HTML.pm.src: <title> is always appended to the current
869 element (HTML5 revision 1328).
870
871 2008-03-08 Wakaba <wakaba@suika.fam.cx>
872
873 * HTML.pm.src: White space in tainted tables are moved
874 into foster parents (HTML5 revision 1326).
875
876 2008-03-08 Wakaba <wakaba@suika.fam.cx>
877
878 * HTML.pm.src: Reduce errors from foster parenting cases (HTML5
879 revision 1321).
880
881 2008-03-08 Wakaba <wakaba@suika.fam.cx>
882
883 * HTML.pm.src: |</h/n/>| case code rearranged to align with
884 the spec (HTML5 revision 1320). Note that we finally complete
885 all of HTML5 revision 1320 changes.
886
887 2008-03-08 Wakaba <wakaba@suika.fam.cx>
888
889 * HTML.pm.src: |</form>| now works similar to |</div>| for unclosed
890 tags (HTML5 revision 1320).
891
892 2008-03-08 Wakaba <wakaba@suika.fam.cx>
893
894 * HTML.pm.src: |</p>| case rearranged with no actual change in fact.
895
896 2008-03-08 Wakaba <wakaba@suika.fam.cx>
897
898 * HTML.pm.src: A "generate implied end tags" code (t409.1)
899 could not be reached so that it is now removed (HTML5 revision
900 1320).
901
902 2008-03-08 Wakaba <wakaba@suika.fam.cx>
903
904 * HTML.pm.src: Code for the case of |</div>| and so on are revised
905 to align with new spec text (HTML5 revision 1320).
906
907 2008-03-08 Wakaba <wakaba@suika.fam.cx>
908
909 * HTML.pm.src: Remove strange |if| condition; however, it should
910 have had no harm in theory.
911
912 2008-03-08 Wakaba <wakaba@suika.fam.cx>
913
914 * HTML.pm.src (_tree_construction_main): '</p>' in body
915 case is split from other end tags for the preparation
916 of implementing HTML revision 1320.
917
918 2008-03-07 Wakaba <wakaba@suika.fam.cx>
919
920 * HTML.pm.src: Simplified "generate implied end tag" (HTML5
921 revision 1320).
922
923 2008-03-07 Wakaba <wakaba@suika.fam.cx>
924
925 * HTML.pm.src (_tree_construction_main): Merge rules for "h1"
926 and "div" (HTML5 revision 1318). Add comments to where
927 |form| pointer association codes should be inserted (HTML5 revision
928 1319).
929
930 2008-03-06 Wakaba <wakaba@suika.fam.cx>
931
932 * HTML.pm.src: <html> treatement refined (HTML5 revision 1314).
933
934 2008-03-05 Wakaba <wakaba@suika.fam.cx>
935
936 * HTML.pm.src: Since the case t268 should never be reached (no
937 other token type, there are), it is replaced by a |die| statement.
938
939 2008-03-05 Wakaba <wakaba@suika.fam.cx>
940
941 * HTML.pm.src: Typo fixed.
942
943 2008-03-04 Wakaba <wakaba@suika.fam.cx>
944
945 * HTML.pm.src (_tree_construction_initial): Some limited quirks
946 doctypes were not uppercased for comparison.
947
948 2008-03-03 Wakaba <wakaba@suika.fam.cx>
949
950 * HTML.pm.src (tree construction and set_inner_html): Checkpoints
951 are added.
952
953 2008-03-03 Wakaba <wakaba@suika.fam.cx>
954
955 * HTML.pm.src (_tokenize_attempt_to_consume_an_entity): Checkpoints
956 are set. Cases that are unlikely reached are noted as so.
957
958 2008-03-03 Wakaba <wakaba@suika.fam.cx>
959
960 * HTML.pm.src: Checkpoints for debugging are added.
961
962 * mkhtmlparser.pl: Support for |!!!cp| syntax.
963
964 2008-03-03 Wakaba <wakaba@suika.fam.cx>
965
966 * HTML.pm.src, mkhtmlparser.pl: s/_input_character/_char/g
967 for simplicity.
968
969 2008-03-03 Wakaba <wakaba@suika.fam.cx>
970
971 * HTML.pm.src: Flag name changed: s/correct/force-quirks/g (HTML5
972 revision 1307).
973
974 2008-03-03 Wakaba <wakaba@suika.fam.cx>
975
976 * HTML.pm.src (_get_next_token): Where the /incorrect/ flag
977 is set are changed (HTML5 revision 1305).
978
979 2008-03-02 Wakaba <wakaba@suika.fam.cx>
980
981 * HTML.pm.src: Raise a parse error for |<span ===>| (HTML5 revision
982 1292). Entities are not parsed in comment-like part in RCDATA
983 elements (HTML5 revision 1294). Allow bare & at the end
984 of attribute value literals (HTML5 revision 1296). More
985 quirks mode doctypes (HTML5 revision 1302). Requires spaces
986 between attributes and ban attribute names or unquoted
987 attribute values containing single or double quotes (HTML5
988 revision 1303).
989
990 2008-03-02 Wakaba <wakaba@suika.fam.cx>
991
992 * ContentChecker.pm: Typo fixed. Don't raise "character encoding"
993 and related errors unless it is an HTML document (though the spec
994 is unclear on whether it is applied to XHTML document).
995
996 * HTML.pm (%HTMLAttrStatus): WF2 repetition model attributes
997 are added.
998
999 2008-03-02 Wakaba <wakaba@suika.fam.cx>
1000
1001 * HTML.pm.src: s/local_name/manakai_local_name/g.
1002
1003 2008-03-01 Wakaba <wakaba@suika.fam.cx>
1004
1005 * _NamedEntityList.pm: Updated (HTML5 revision 1286).
1006
1007 * HTML.pm.src: |charset| in |content| attribute is
1008 case-insensitive (HTML5 revision 1270).
1009
1010 2008-02-26 Wakaba <wakaba@suika.fam.cx>
1011
1012 * ContentChecker.pm: New status constants are added.
1013 ($ElementDefault): |status| added.
1014 (check_element): Err for non-standard or deprecated elements.
1015 (_attr_status_info): For non-standard or deprecated attributes.
1016
1017 2008-02-24 Wakaba <wakaba@suika.fam.cx>
1018
1019 * ContentChecker.pm (_attr_status_info): New internal method.
1020
1021 2008-02-24 Wakaba <wakaba@suika.fam.cx>
1022
1023 * ContentChecker.pm (check_element): Element standardized
1024 status information is now dispatched.
1025
1026 2008-02-24 Wakaba <wakaba@suika.fam.cx>
1027
1028 * ContentChecker.pm (check_element): Fix |del|-and-significant
1029 problem by adding some more arguments.
1030
1031 2008-02-24 Wakaba <wakaba@suika.fam.cx>
1032
1033 * ContentChecker.pm (check_element): Use context of
1034 container-for-the-purpose-of-content-model element (not transparent
1035 element) for |check_child_element| calling and significant
1036 text flag marking. This reintroduces |<del>|-and-significant
1037 problem again.
1038
1039 2008-02-24 Wakaba <wakaba@suika.fam.cx>
1040
1041 * ContentChecker.pm (check_element): Make semi-transparent
1042 elements ignored for the purpose of phase changes in
1043 content model checking.
1044
1045 2008-02-23 Wakaba <wakaba@suika.fam.cx>
1046
1047 * ContentChecker.pm (check_element): In-element state
1048 was not properly managed for transparent cases.
1049
1050 2008-02-23 Wakaba <wakaba@suika.fam.cx>
1051
1052 * ContentChecker.pm (check_element): Support for |video|
1053 and |audio| as semi-transparent elements.
1054
1055 2008-02-23 Wakaba <wakaba@suika.fam.cx>
1056
1057 * ContentChecker.pm ($HTMLSemiTransparentElements): New.
1058 (check_element): s/minuses/minus_elements/, s/pluses/plus_elements/.
1059 Support for |html:object| as a semi-transparent element.
1060
1061 2008-02-23 Wakaba <wakaba@suika.fam.cx>
1062
1063 * ContentChecker.pm (check_element): The way to traverse
1064 the tree is entirely revised to make it easier to track
1065 the state of ancestors/descendants. As a result of this
1066 revision (which rewrites almost all of Whatpm::ContentChecker::HTML),
1067 support for content model checking for HTML elements |figure|,
1068 |object|, |video|, and |audio| and checking for XML elements (and
1069 some XMLNS checkings) are dropped for now. They will be
1070 reimplemented in due cource.
1071
1072 2008-02-17 Wakaba <wakaba@suika.fam.cx>
1073
1074 * HTML.pm.src: |>| in public or system literal closes the DOCTYPE
1075 token (HTML5 revision 1225).
1076
1077 2008-02-17 Wakaba <wakaba@suika.fam.cx>
1078
1079 * ContentChecker.pm ({unsupported_level}): New value.
1080
1081 * HTML.pm.src: Save whether |meta| |content| attribute
1082 contains character references or not.
1083
1084 2008-02-17 Wakaba <wakaba@suika.fam.cx>
1085
1086 * ContentChecker.pm (_get_children): (Incompleted) attempt to
1087 imlement significant content checking for contents
1088 with |del| elements.
1089
1090 2008-02-17 Wakaba <wakaba@suika.fam.cx>
1091
1092 * ContenteChecker.pm ($HTMLTransparentElements): More
1093 elements are added.
1094 (_get_children): HTML |object| elements are now semi-transparent.
1095
1096 * NanoDOM.pm (manakai_html, manakai_head): New methods.
1097
1098 2008-02-16 Wakaba <wakaba@suika.fam.cx>
1099
1100 * CacheManifest.pm: HTML5 revision 1211 implemented.
1101
1102 * CacheManifest.pod: Updated.
1103
1104 2008-02-10 Wakaba <wakaba@suika.fam.cx>
1105
1106 * ContentChecker.pm (check_document, check_element): Support
1107 for second argument ($onsubdoc).
1108 (_get_css_parser): Removed (now it is part of WDCC).
1109
1110 2008-02-09 Wakaba <wakaba@suika.fam.cx>
1111
1112 * ContentChecker.pm (_get_css_parser): New.
1113
1114 2007-11-25 Wakaba <wakaba@suika.fam.cx>
1115
1116 * ContentChecker.pm ($AnyChecker): Old way to add child elements
1117 for checking had been used.
1118
1119 2007-11-25 Wakaba <wakaba@suika.fam.cx>
1120
1121 * ContentChecker.pm (check_element): New todo item type |descendant|.
1122
1123 2007-11-23 Wakaba <wakaba@suika.fam.cx>
1124
1125 * IMTChecker.pm: Revised to raise errors and warnings as (poorly)
1126 specced in RFC 2046 and RFC 4288.
1127 (application/atom+xml): Definition added.
1128
1129 2007-11-23 Wakaba <wakaba@suika.fam.cx>
1130
1131 * URIChecker.pm: Make RFC 3986 should-level errors
1132 warnings (rather than SHOULD-level errors).
1133
1134 2007-11-23 Wakaba <wakaba@suika.fam.cx>
1135
1136 * NanoDOM.pm (get_user_data, set_user_data): New methods.
1137
1138 * HTML.pm.src: A flag for character references in attribute
1139 values are added. Set |manakai_has_reference| user data
1140 to |charset| attribute.
1141
1142 2007-11-23 Wakaba <wakaba@suika.fam.cx>
1143
1144 * NanoDOM.pm (input_encoding, manakai_charset, manakai_has_bom): New
1145 attributes.
1146
1147 * ContentChecker.pm (check_document): Warn if charset requirements
1148 cannot be tested.
1149
1150 2007-11-19 Wakaba <wakaba@suika.fam.cx>
1151
1152 * HTML.pm.src (parse_byte_string): Detect charset
1153 by universalchardet if charset parameter is not specified.
1154
1155 * Makefile (Charset-all, Charset-clean): New rules.
1156
1157 2007-11-18 Wakaba <wakaba@suika.fam.cx>
1158
1159 * ContentChecker.pm (check_document): Check the existence
1160 of character encoding declaration and selection of encoding
1161 for HTML document.
1162
1163 2007-11-18 Wakaba <wakaba@suika.fam.cx>
1164
1165 * ContentType.pm (get_sniffed_type): Return also the official
1166 type in list context.
1167
1168 2007-11-18 Wakaba <wakaba@suika.fam.cx>
1169
1170 * ContentType.pm: Sniffing with leading white space
1171 ignoring (HTML5 revisions 1013 and 1016).
1172
1173 2007-11-18 Wakaba <wakaba@suika.fam.cx>
1174
1175 * ContentType.pm: HTML5 revision 1013 changes, except for leading
1176 white spaces, are implemented.
1177
1178 2007-11-11 Wakaba <wakaba@suika.fam.cx>
1179
1180 * HTML.pm.src (parse_char_string): Set |inner_encoding|
1181 attribute if possible.
1182
1183 2007-11-11 Wakaba <wakaba@suika.fam.cx>
1184
1185 * HTML.pm.src (parse_byte_string): New method.
1186 (parse_char_string): New alias for |parse_string|.
1187 (main phase): Invoking "change the encoding" algorithm if desired.
1188
1189 * HTML.pod: Updated.
1190
1191 2007-11-11 Wakaba <wakaba@suika.fam.cx>
1192
1193 * HTML.pod (get_inner_html): Removed.
1194
1195 * Makefile (HTML-all, HTML-clean): New.
1196
1197 2007-11-11 Wakaba <wakaba@suika.fam.cx>
1198
1199 * HTML.pm.src (get_inner_html): Removed (moved to HTML/Serializer.pm).
1200
1201 2007-11-08 Wakaba <wakaba@suika.fam.cx>
1202
1203 * mklinktypelist.pl: s/noreferer/noreferrer/ (HTML5 revision 1132).
1204
1205 2007-11-04 Wakaba <wakaba@suika.fam.cx>
1206
1207 * Makefile: |CacheManifest.html| is added.
1208
1209 * CacheManifest.pod: New file.
1210
1211 2007-11-04 Wakaba <wakaba@suika.fam.cx>
1212
1213 * CacheManifest.pm: New module.
1214
1215 2007-11-04 Wakaba <wakaba@suika.fam.cx>
1216
1217 * HTML.pm.src: Support for application cache selection algorithm
1218 callback.
1219
1220 2007-11-04 Wakaba <wakaba@suika.fam.cx>
1221
1222 * mklinktypelist.pl: Support for rel=noreferer (HTML5 revision 1118).
1223
1224 2007-10-17 Wakaba <wakaba@suika.fam.cx>
1225
1226 * Makefile (clean): New rule.
1227
1228 * NanoDOM.pm (public_id, system_id): New attributes.
1229
1230 2007-10-17 Wakaba <wakaba@suika.fam.cx>
1231
1232 * Makefile (CSS-all, CSS-clean, clean): New rules.
1233
1234 2007-10-14 Wakaba <wakaba@suika.fam.cx>
1235
1236 * ContentChecker.pm (check_document): Support for
1237 new |is_xml_root| flag.
1238 (check_element): Support for new |pluses| state.
1239 (_add_pluses): New method.
1240 (_remove_minuses): Support for new |minus| item.
1241
1242 2007-09-24 Wakaba <wakaba@suika.fam.cx>
1243
1244 * ContentChecker.pm: Raise specific error for invalid
1245 root element.
1246
1247 2007-09-24 Wakaba <wakaba@suika.fam.cx>
1248
1249 * ContentChecker.pm: Set level values for later uses.
1250
1251 2007-09-09 Wakaba <wakaba@suika.fam.cx>
1252
1253 * ContentChecker.pm: Support for language tag validation.
1254
1255 2007-09-09 Wakaba <wakaba@suika.fam.cx>
1256
1257 * LangTag.pm (check_rfc3066_language_tag): New method.
1258
1259 2007-09-09 Wakaba <wakaba@suika.fam.cx>
1260
1261 * LangTag.pm: New module.
1262
1263 2007-09-04 Wakaba <wakaba@suika.fam.cx>
1264
1265 * HTML.pm.src: Some error types were wrong.
1266
1267 2007-08-17 Wakaba <wakaba@suika.fam.cx>
1268
1269 * CSS/: New directory.
1270
1271 2007-08-17 Wakaba <wakaba@suika.fam.cx>
1272
1273 * ContentChecker.pm (_check_get_children): Support
1274 for |noscript| in |head|.
1275
1276 2007-08-12 Wakaba <wakaba@suika.fam.cx>
1277
1278 * URI/: New directory.
1279
1280 2007-08-11 Wakaba <wakaba@suika.fam.cx>
1281
1282 * HTML.pm.src: Tokenizer's states are now represented in
1283 number.
1284
1285 2007-08-11 Wakaba <wakaba@suika.fam.cx>
1286
1287 * HTML.pm.src: |or|s for insertion modes are replaced
1288 by |&|s.
1289
1290 2007-08-11 Wakaba <wakaba@suika.fam.cx>
1291
1292 * HTML.pm.src: Token types are now represented in number.
1293
1294 2007-08-11 Wakaba <wakaba@suika.fam.cx>
1295
1296 * ContentType.pm (SEE ALSO): Updated.
1297
1298 * HTML.pm.src: Insertion modes are now represented in number.
1299
1300 2007-08-11 Wakaba <wakaba@suika.fam.cx>
1301
1302 * ContentType.pm: Sniffing for bitmap images (HTML5 revision
1303 999) is implemented.
1304
1305 2007-08-08 Wakaba <wakaba@suika.fam.cx>
1306
1307 * ContentType.pm: Sniffing for |<script| (HTML5 revision
1308 983) is implemented.
1309
1310 2007-08-06 Wakaba <wakaba@suika.fam.cx>
1311
1312 * ContentChecker.pod: New documentation.
1313
1314 * Makefile: A rule for |ContentChecker.html| is added.
1315
1316 * ContentChecker.pm: A pod "LICENSE" section is added.
1317
1318 * NanoDOM.pm ($VERSION): New variable.
1319
1320 2007-08-05 Wakaba <wakaba@suika.fam.cx>
1321
1322 * H2H.pm: |b|, |i|, and |sub| are added to the
1323 list of allowed HTML elements.
1324
1325 2007-08-05 Wakaba <wakaba@suika.fam.cx>
1326
1327 * H2H.pm: |samp| is added to the list of allowed
1328 HTML elements.
1329
1330 * URIChecker.pm (check_iri): New.
1331 (check_iri_reference): Error type for IRI reference
1332 syntax error is changed.
1333
1334 2007-08-04 Wakaba <wakaba@suika.fam.cx>
1335
1336 * ContentChecker.pm: Reference to the |Whatpm::ContentChecker::Atom|
1337 is added.
1338 (check_document): Load appropriate module before validation.
1339
1340 2007-08-04 Wakaba <wakaba@suika.fam.cx>
1341
1342 * ContentChecker/: New directory.
1343
1344 2007-08-04 Wakaba <wakaba@suika.fam.cx>
1345
1346 * ContentChecker.pm: HTML |time| element is implemented.
1347
1348 * HTMLTable.pm: Comments are updated as HTML5 is revised.
1349
1350 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1351
1352 * ContentChecker.pm (check_document): Return value
1353 even if no document element is found.
1354
1355 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1356
1357 * HTML.pm.src: |$in_body| is no longer a function.
1358
1359 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1360
1361 * HTML.pm.src: The |$in_body| code has been moved down.
1362
1363 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1364
1365 * HTML.pm.src: The "trailing end" insertion mode
1366 is split into "after html body" and "after html frameset"
1367 insertion modes. Their codes are merged with "after body"
1368 and "after frameset" codes. |$previous_insertion_mode|
1369 has been removed. "after frameset" code is
1370 merged with "in frameset" code.
1371
1372 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1373
1374 * HTML.pm.src: The "before head" insertion mode is
1375 merged with the "in head" insertion mode.
1376
1377 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1378
1379 * HTML.pm.src: Cases in "in head" insertion mode are
1380 reorganized.
1381
1382 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1383
1384 * HTML.pm.src: Some cases in "in table" insertion mode
1385 are merged.
1386
1387 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1388
1389 * HTML.pm.src: The "in row" insertion mode is merged
1390 with "in table" insertion mode.
1391
1392 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1393
1394 * HTML.pm.src: The "in table" and "in table body" insertion
1395 modes are merged.
1396
1397 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1398
1399 * HTML.pm.src: There is no "in table head" or "in table foot"
1400 insertion mode!
1401
1402 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1403
1404 * HTML.pm.src: |<noframes>| "in frameset" and "in noframes"
1405 now directly invoke the handler.
1406
1407 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1408
1409 * HTML.pm.src: Codes for "in cell" insertion mode
1410 is merged to the "in body" insertion mode code.
1411
1412 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1413
1414 * HTML.pm.src: Codes for "in body" and "in caption"
1415 insertion modes are merged.
1416
1417 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1418
1419 * HTML.pm.src: Two |!!!next-token|s were missing.
1420
1421 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1422
1423 * HTML.pm.src: Use numeric constant for |{content_mode}|
1424 instead of string constant for |{content_model_flag}|.
1425
1426 2007-07-21 Wakaba <wakaba@suika.fam.cx>
1427
1428 * HTML.pm.src: Add the name of the attribute
1429 to the "duplicate attribute" error.
1430
1431 2007-07-17 Wakaba <wakaba@suika.fam.cx>
1432
1433 * ContentChecker.pm: Return the |class| node list.
1434
1435 2007-07-17 Wakaba <wakaba@suika.fam.cx>
1436
1437 * ContentChecker.pm: Return the |id| node list.
1438
1439 * HTML.pm.src: A typo is fixed.
1440
1441 2007-07-16 Wakaba <wakaba@suika.fam.cx>
1442
1443 * ContentChecker.pm: Drop wrong |level => 'error'| specification
1444 from "in HTML:xml:lang" error. Character position
1445 is now the last part of the error type in the URI error
1446 description. Report "unsupported" status for language
1447 tags, media queries, script codes, and style sheets.
1448
1449 2007-07-16 Wakaba <wakaba@suika.fam.cx>
1450
1451 * ContentChecker.pm: Report error if |xml:lang|
1452 in HTML, |lang| in XML, |xmlns| in XML, and |meta| |charset|
1453 in XML.
1454
1455 * NanoDOM.pm (Attr.owner_document): New attribute.
1456
1457 2007-07-16 Wakaba <wakaba@suika.fam.cx>
1458
1459 * HTML.pm.src: The character immediately following
1460 a bare |hcro| was discarded. Fix handling of
1461 entity references in attribute values.
1462
1463 2007-07-16 Wakaba <wakaba@suika.fam.cx>
1464
1465 * HTML.pm.src (main and trailin end phases): Token
1466 types |DOCTYPE|, |comment|, |end-of-file|, and |<html>| are
1467 factored out. Error types |in html:#DOCTYPE|
1468 and |after html:#DOCTYPE| are merged
1469 into |DOCTYPE in the middle|. |</frameset>|
1470 in fragment parsing mode changed the
1471 insertion mode.
1472
1473 2007-07-16 Wakaba <wakaba@suika.fam.cx>
1474
1475 * HTML.pm.src: |$phase| has been removed; The |trailing end|
1476 phase is now an insertion mode. Treatments for white
1477 space character tokens were incorrect for some
1478 insertion modes. An old |meta| case was not removed.
1479
1480 2007-07-16 Wakaba <wakaba@suika.fam.cx>
1481
1482 * HTML.pm.src: |meta| charset declaration extraction
1483 implemented (but changing the encoding is not yet:-).
1484
1485 2007-07-15 Wakaba <wakaba@suika.fam.cx>
1486
1487 * Charset/: New directory.
1488
1489 2007-07-15 Wakaba <wakaba@suika.fam.cx>
1490
1491 * H2H.pm: New Perl module (created from
1492 manakai's H2H.dis).
1493
1494 2007-07-15 Wakaba <wakaba@suika.fam.cx>
1495
1496 * XMLSerializer.pm: New Perl module (created from
1497 manakai's SimpleLS.dis).
1498
1499 2007-07-07 Wakaba <wakaba@suika.fam.cx>
1500
1501 * HTML.pm.src: |<!---x-->| was not processed correctly.
1502
1503 2007-07-01 Wakaba <wakaba@suika.fam.cx>
1504
1505 * HTML.pm.src: Report correct error message
1506 for |<body></div></body>|.
1507
1508 2007-07-01 Wakaba <wakaba@suika.fam.cx>
1509
1510 * HTMLTable.pm: An error description was incorrect.
1511
1512 2007-06-30 Wakaba <wakaba@suika.fam.cx>
1513
1514 * ContentChecker.pm: Return |{term}| list.
1515
1516 2007-06-30 Wakaba <wakaba@suika.fam.cx>
1517
1518 * HTML.pm.src: HTML5 revisions 961-966 (</p>, </br>,
1519 nested <nobr>, implied </tbody>, </tfoot>, and </thead>,
1520 and <title> outside of head).
1521
1522 2007-06-30 Wakaba <wakaba@suika.fam.cx>
1523
1524 * IMTChecker.pm: Report warning for unregistered
1525 and private types/subtypes.
1526
1527 * ContentChecker.pm, HTML.pm.src, IMTChecker.pm,
1528 URIChecker.pm, HTMLTable.pm: Error messages are now
1529 consistent; they are all listed in
1530 <http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>.
1531
1532 2007-06-25 Wakaba <wakaba@suika.fam.cx>
1533
1534 * ContentChecker.pm: |<img ismap>| not in |<a></a>|
1535 is now erred. |<datalist>| is implemented.
1536 Attribute checker for |<command>| and |<menu>| are
1537 added. Support for |contextmenu| global attribute
1538 is added.
1539
1540 2007-06-25 Wakaba <wakaba@suika.fam.cx>
1541
1542 * HTML.pm.src (_reset_insertion_mode): Interpretation
1543 of Step 3 has been changed.
1544
1545 2007-06-25 Wakaba <wakaba@suika.fam.cx>
1546
1547 * HTML.pm.src: Late |<html>| parse error is implemented.
1548
1549 2007-06-24 Wakaba <wakaba@suika.fam.cx>
1550
1551 * URIChecker.pm (check_iri_reference): A |decode| method name was
1552 incorrect.
1553
1554 * ContentChecker.pm: Support for the |footer| element.
1555 Check URI syntax for space-separated URI attributes.
1556 Support for the |tabindex| attribute. Support
1557 for |datetime| attribute.
1558
1559 2007-06-24 Wakaba <wakaba@suika.fam.cx>
1560
1561 * HTML.pm.src: HTML5 revision 1.144 (&#x0D;) and 1.145 (invalid
1562 character references). HTML5 revision 1.146 (white space
1563 characters before root start tag). HTML5 revision
1564 1.148 (named character references in attribute values).
1565 HTML5 revision 1.152 (<plaintext>.innerHTML get).
1566
1567 2007-06-24 Wakaba <wakaba@suika.fam.cx>
1568
1569 * HTML.pm.src: HTML5 revisions 1.142 and 1.143 (<noscript>
1570 in <head>).
1571
1572 2007-06-24 Wakaba <wakaba@suika.fam.cx>
1573
1574 * HTML.pm.src: HTML5 revision 935 (<base>, <link>, <meta>
1575 in body).
1576
1577 * ContentChecker.pm: HTML5 revision 938 (scoped="").
1578
1579 2007-06-24 Wakaba <wakaba@suika.fam.cx>
1580
1581 * HTML.pm.src: HTML5 revision 923 (matching end tag in CDATA
1582 or RCDATA in fragment parsing mode). HTML5 revision
1583 924 (<!--> and <!--->). HTML5 revision 926 (hn in hn).
1584
1585 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1586
1587 * HTML.pm.src (get_inner_html): HTML5 revision 922 (inner_html
1588 for <pre> and <textarea>).
1589
1590 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1591
1592 * HTML.pm.src: HTML5 revision 920 (<isindex>).
1593
1594 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1595
1596 * HTML.pm.src: HTML5 revision 918 (</head>, </body>, </html>).
1597
1598 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1599
1600 * HTML.pm.src: HTML5 revision 916 (</body>).
1601 HTML5 revision 917 (conforming bare &).
1602
1603 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1604
1605 * NanoDOM.pm (manakai_is_html): Setting to false did not work.
1606
1607 * HTML.pm.src: HTML5 revision 914 (</ in CDATA, RCDATA).
1608 HTML5 revision 915 (<nobr>).
1609
1610 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1611
1612 * HTML.pm.src: HTML5 revisions 908, 909, 912, and 913 (quirks mode).
1613
1614 * NanoDOM.pm (manakai_is_html, manakai_compat_mode, compat_mode):
1615 New attributes.
1616
1617 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1618
1619 * HTML.pm.src: HTML5 revisions 900, 901, 902, and 911 (<
1620 in tags).
1621
1622 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1623
1624 * .cvsignore: |Entities.html| is added.
1625
1626 * HTML.pm.src: |$entity_char| is removed and
1627 requires |Whatpm::_NamedEntityList| instead.
1628 HTML5 revision 898 (refc), except that lack of refc
1629 is parse error.
1630
1631 * mkentitylist.pl: New script.
1632
1633 * Makefile (all): |_NamedEntityList.pm| is added.
1634 (_NamedEntityList.pm, Entities.html): New rules.
1635
1636 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1637
1638 * HTML.pm.src: Parse errors immediately after U+000D
1639 were ignored and U+000D immediately following another
1640 U+000D was not converted to U+000A.
1641
1642 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1643
1644 * HTML.pm.src (set_inner_html): HTML5 revision 892 (adopt
1645 nodes before appended). Parser was not ready for NULL
1646 parse error and escape flag.
1647
1648 * NanoDOM.pm (adopt_node): New.
1649
1650 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1651
1652 * HTML.pm.src: HTML5 revision 886 (insane comment in
1653 CDATA and RCDATA). Note that current implementation
1654 is simply repeating what the spec says and it is maybe not
1655 a best way to do it.
1656
1657 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1658
1659 * HTML.pm.src: HTML5 revision 884 (</form> don't close
1660 the form element if a descendant element without implied end tag has
1661 still been open).
1662
1663 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1664
1665 * ContentChecker.pm: HTML5 revision 881 (Make |id| attribute with
1666 space characters non-conforming).
1667
1668 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1669
1670 * HTML.pm.src: An error message was incorrect.
1671 HTML5 revision 869 (C1 character references).
1672
1673 2007-06-23 Wakaba <wakaba@suika.fam.cx>
1674
1675 * HTML.pm.src: HTML5 revision 867 (a LF at the beginning of
1676 a |textarea| is removed).
1677
1678 2007-06-05 Wakaba <wakaba@suika.fam.cx>
1679
1680 * NanoDOM.pm (get_attribute_node_ns): New method.
1681
1682 * ContentChecker.pm: |script| |async| and |defer|
1683 no longer require |src|. |async| MUST NOT be
1684 specified if |defer|. (HTML5 revision 858).
1685
1686 2007-05-30 Wakaba <wakaba@suika.fam.cx>
1687
1688 * HTML.pm.src: |<form><form>| went to inifinite loop.
1689
1690 2007-05-27 Wakaba <wakaba@suika.fam.cx>
1691
1692 * ContentChecker.pm (html): Set |is_root| (allowed
1693 as a document element) flag on.
1694 (new): Removed.
1695 (check_document): New method.
1696
1697 2007-05-27 Wakaba <wakaba@suika.fam.cx>
1698
1699 * ContentChecker.pm (thead, tfoot): Checker specifications
1700 were incorrect.
1701
1702 2007-05-27 Wakaba <wakaba@suika.fam.cx>
1703
1704 * ContentChecker.pm ($HTMLURIAttrChecker): Include
1705 error position in the |type| option of the error.
1706
1707 * HTMLTable.pm (form_table): The |$onerror| parameter
1708 is now optional. Some bugs are fixed.
1709
1710 2007-05-27 Wakaba <wakaba@suika.fam.cx>
1711
1712 * HTMLTable.pm: New module.
1713
1714 * ContentChecker.pm (table): Invoke table model error checker.
1715
1716 * NanoDOM.pm (first_child, get_attribute_ns): New.
1717
1718 2007-05-26 Wakaba <wakaba@suika.fam.cx>
1719
1720 * ContentChecker.pm ($HTMLLinkTypesAttrChecker): New checker.
1721 (link/@rel, a/@rel, area/@rel): Use new checker.
1722
1723 * Makefile (_LinkTypeList.pm, RelExtensions.html): New rules.
1724
1725 * _LinkTypeList.pm: New file.
1726
1727 * mklinktypelist.pl: New file.
1728
1729 * .cvsignore: |RelExtensions.html| added.
1730
1731 * NanoDOM.pm (child_nodes): Returns an empty array
1732 for non-child-containing node types.
1733 (text_content): New attribute.
1734
1735 2007-05-26 Wakaba <wakaba@suika.fam.cx>
1736
1737 * IMTChecker.pm: New module.
1738
1739 * ContentChecker.pm ($HTMLIMTAttrChecker): Call IMTChecker
1740 to test parameter value validity.
1741
1742 * HTML.pm.src ($style_start_tag): Attributes were
1743 discarded.
1744
1745 2007-05-25 Wakaba <wakaba@suika.fam.cx>
1746
1747 * ContentChecker.pm ($HTMLURIAttrChecker): Implemented.
1748
1749 2007-05-25 Wakaba <wakaba@suika.fam.cx>
1750
1751 * URIChecker.pm: All recommendations from RFC 3986
1752 and RFC 3987 are listed (not all testable items are checked yet).
1753
1754 2007-05-25 Wakaba <wakaba@suika.fam.cx>
1755
1756 * URIChecker.pm: New module.
1757
1758 2007-05-20 Wakaba <wakaba@suika.fam.cx>
1759
1760 * ContentChecker.pm: Now most attributes are implemented
1761 or associated to some placeholder.
1762 ($ElementDefault): Warn unknown attributes
1763 for unknown elements as "attribute not supported".
1764 ($HTMLLanguageTagAttrChecker, $HTMLMQAttrChecker): New placeholders.
1765 ($HTMLUsemapAttrChecker, $HTMLTargetAttrChecker): New checkers.
1766 (|a| attribute checker): Reimplemented.
1767
1768 2007-05-20 Wakaba <wakaba@suika.fam.cx>
1769
1770 * ContentChecker.pm ($HTMLEventHandlerAttrChecker): New placeholder.
1771 ($HTMLAttrChecker): Event handler content attributes
1772 are added.
1773 (link, embed): Required attribute is now checked.
1774 (embed): Unknown local attributes are no longer warned.
1775
1776 2007-05-20 Wakaba <wakaba@suika.fam.cx>
1777
1778 * ContentChecker.pm ($HTMLSpaceURIsAttrChecker): New placeholder.
1779 ($HTMLIMTAttrChecker): New checker.
1780 (link@rel, link@href, link@type, style@type,
1781 a@href, a@ping, a@ping, a@type, embed@src, embed@type,
1782 object@data, object@type, source@src, source@type, area@alt,
1783 area@shape, area@coords, area@href,
1784 area@ping, area@rel, area@type, script@src,
1785 script@defer, script@async, script@type): Checkers added.
1786
1787 2007-05-20 Wakaba <wakaba@suika.fam.cx>
1788
1789 * ContentChecker.pm: Descendant checking was incorrect.
1790
1791 2007-05-19 Wakaba <wakaba@suika.fam.cx>
1792
1793 * ContentChecker.pm: Support |xml:*| and |xmlns:*|
1794 attributes. Report an error if |Element.prefix|
1795 is |xmlns|.
1796
1797 * NanoDOM.pm (prefix): New attribute.
1798
1799 2007-05-19 Wakaba <wakaba@suika.fam.cx>
1800
1801 * HTML.pm.src: In |main| phase, |in body| insertion
1802 mode, action for |<iframe>| was missing.
1803
1804 2007-05-19 Wakaba <wakaba@suika.fam.cx>
1805
1806 * ContentChecker.pm: Support for many of HTML5 elements.
1807 ($GetHTMLNonNegativeIntegerAttrChecker): New.
1808
1809 2007-05-19 Wakaba <wakaba@suika.fam.cx>
1810
1811 * ContentChecker.pm: Support for most elements up to |progress|.
1812 ($HTMLURIAttrChecker): Placeholder.
1813 ($HTMLIntegerAttrChecker, $GetHTMLFloatingPointNumberAttrChecker):
1814 New.
1815
1816 2007-05-19 Wakaba <wakaba@suika.fam.cx>
1817
1818 * ContentChecker.pm: Attribute checkers
1819 for global attributes, |html|, |base|, |style|, and |meta|.
1820
1821 * NanoDOM.pm (insert_before): Weaken reference
1822 to the parent node.
1823 (Attr::new): Set |owner_element| attribute.
1824 (namespace_uri, manakai_local_name): New attribute implementations.
1825 (owner_element): New attribute.
1826
1827 2007-05-19 Wakaba <wakaba@suika.fam.cx>
1828
1829 * ContentChecker.pm ($AttrChecker, $HTMLAttrChecker,
1830 $AnyChecker->{attr_checker}, $HTMLAttrsChecker,
1831 $Element->{$HTML_NS}->{''}): New.
1832 (check_element): Invoke attrs_checker for each element.
1833
1834 2007-05-13 Wakaba <wakaba@suika.fam.cx>
1835
1836 * ContentChecker.pm: Don't use |manakai_element_type_match|.
1837
1838 2007-05-13 Wakaba <wakaba@suika.fam.cx>
1839
1840 * ContentChecker.pm: Use hashs rather than lists for
1841 element type testings.
1842
1843 2007-05-13 Wakaba <wakaba@suika.fam.cx>
1844
1845 * ContentChecker.pm: Don't generate duplicate
1846 error when an element type is put in the "minus" list
1847 and the element type is not allowed explicitly in the particular
1848 element content model.
1849 (html:a checker): New checker.
1850 (html:details, html:datagrid): New checkers.
1851 (html:legend): New checker.
1852
1853 2007-05-13 Wakaba <wakaba@suika.fam.cx>
1854
1855 * ContentChecker.pm (html:li checker): Implemented.
1856
1857 2007-05-13 Wakaba <wakaba@suika.fam.cx>
1858
1859 * ContentChecker.pm ($HTMLInlineOrStriclyInlineChecker): New
1860 checker.
1861 (html:dd checker): New checker.
1862 (html:q, html:em, html:strong, html:small,
1863 html:m, html:dfn, html:code, html:samp, html:span): New checkers.
1864
1865 2007-05-13 Wakaba <wakaba@suika.fam.cx>
1866
1867 * ContentChecker.pm ($AnyChecker): Renamed
1868 from |$ElementDefault->{checker}|.
1869 ($ElementDefault->{checker}): Throw an error that
1870 the element type is not supported by the checker.
1871 ($HTMLMetadataElement): |html:base| was missing.
1872 ($HTMLEmptyChecker): Don't throw an error
1873 for inter-element whitespace nodes.
1874 (html:html checker): Errors were not
1875 thrown even if |html:head| and/or |html:body|
1876 children were missing.
1877 (html:head checker): An error was not
1878 thrown if <meta charset> appered after other
1879 elements.
1880
1881 2007-05-05 Wakaba <wakaba@suika.fam.cx>
1882
1883 * ContentChecker.pm: |footer|, |video|, |audio|, |script|,
1884 and |noscript| elements are implemented.
1885 (new): New method.
1886
1887 2007-05-04 Wakaba <wakaba@suika.fam.cx>
1888
1889 * ContentChecker.pm: New module.
1890
1891 2007-05-04 Wakaba <wakaba@suika.fam.cx>
1892
1893 * NanoDOM.pm (manakai_parent_element,
1894 document_element, manakai_local_name,
1895 manakai_element_type_match): New method.
1896
1897 2007-05-03 Wakaba <wakaba@suika.fam.cx>
1898
1899 * HTML.pm.src: Replace decimal and hexadecimal numeric
1900 entities in C1 range using Windows-1252 mapping. Bare LF
1901 did not count as new line for error reporting.
1902
1903 2007-05-02 Wakaba <wakaba@suika.fam.cx>
1904
1905 * NanoDOM.pm (DOMImplementation): New class.
1906 (append_child): Weaken the |parent_node| reference.
1907 (create_element_ns, Element new): Set the |owner_document|
1908 reference.
1909 (implementation): New attribute.
1910 (owner_document, local_name, namespace_uri): New attributes.
1911
1912 * HTML.pm.src (parse_string): Line and column numbers
1913 are now provided to error handler.
1914 (!!!parse-error): Short descriptions are added.
1915 (_construct_tree): Split into three methods; support
1916 for innerHTML mode.
1917 (set_inner_html): New method.
1918
1919 2007-05-01 Wakaba <wakaba@suika.fam.cx>
1920
1921 * NanoDOM.html: Documentation is added.
1922
1923 * HTML.pod, ContentType.html: Documentation is revised.
1924
1925 * .cvsignore: Pod2html temporary files are added.
1926
1927 * Makefile: Make |NanoDOM.html|.
1928
1929 2007-05-01 Wakaba <wakaba@suika.fam.cx>
1930
1931 * HTML.pm.src (parse_string): New method.
1932 (get_inner_html): Renamed from |inner_html|.
1933
1934 * Makefile: A rule for |HTML.html| is added.
1935
1936 * HTML.pod: New documentation.
1937
1938 2007-05-01 Wakaba <wakaba@suika.fam.cx>
1939
1940 * NanoDOM.pm (last_child, previous_sibling): New attributes.
1941 (clone_node): Attribute nodes were not completely copied.
1942
1943 * HTML.pm.src: Many bugs are fixed.
1944
1945 2007-04-30 Wakaba <wakaba@suika.fam.cx>
1946
1947 * HTML.pm.src: Some typos are fixed.
1948
1949 2007-04-30 Wakaba <wakaba@suika.fam.cx>
1950
1951 * mkhtmlparser.pl, Makefile: References to the |HTML-consume-entity.src|
1952 are removed.
1953
1954 * HTML.pm.src: Tokenizer's handling on named entities are rewritten.
1955
1956 * HTML-consume-entity.src: Removed.
1957
1958 2007-04-30 Wakaba <wakaba@suika.fam.cx>
1959
1960 * HTML.pm.src: Tokenizer's handling on hexadecimal
1961 numeric entities are rewritten.
1962
1963 2007-04-30 Wakaba <wakaba@suika.fam.cx>
1964
1965 * HTML.pm.src: Some tokenizer bugs are fixed.
1966
1967 2007-04-30 Wakaba <wakaba@suika.fam.cx>
1968
1969 * HTML.pm.src: The tree construction stage is implemented.
1970
1971 * mkhtmlparser.pl: New macros are added.
1972
1973 2007-04-28 Wakaba <wakaba@suika.fam.cx>
1974
1975 * ContentType.pm: A note on bug in the specification
1976 is removed since it's been now fixed.
1977
1978 * .cvsignore: New file.
1979
1980 2007-04-28 Wakaba <wakaba@suika.fam.cx>
1981
1982 * HTML.pm.src, HTML-consume-entity.src: New files.
1983
1984 * Makefile (HTML.pm): New rule.
1985
1986 * mkhtmlparser.pl: New script.
1987
1988 2007-04-25 Wakaba <wakaba@suika.fam.cx>
1989
1990 * Makefile: New file.
1991
1992 2007-04-24 Wakaba <wakaba@suika.fam.cx>
1993
1994 * ContentType.pm: An error in pod is fixed.
1995
1996 2007-04-24 Wakaba <wakaba@suika.fam.cx>
1997
1998 * ContentType.pm: Documentation is added.
1999
2000 2007-04-24 Wakaba <wakaba@suika.fam.cx>
2001
2002 * ContentType.pm: New Perl module.
2003
2004 * ChangeLog: New file.
2005
2006

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24