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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.326 - (show annotations) (download)
Sat Sep 20 07:54:47 2008 UTC (17 years, 5 months ago) by wakaba
Branch: MAIN
Changes since 1.325: +9 -0 lines
++ whatpm/t/ChangeLog	20 Sep 2008 07:54:41 -0000
	* ContentType.t: Updated to disallow 0x0B as text byte (HTML5
	revision 1738).

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

++ whatpm/Whatpm/ChangeLog	20 Sep 2008 07:39:30 -0000
	* ContentType.pm: 0x0B is no longer a space character (HTML5
	revision 1738).

	* HTML.pm.src: U+000B is no longer a space character for the
	algorithm for extracting an encoding from a Content-Type (HTML5
	revision 1738).

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

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24