2008-03-07 Wakaba * HTML.pm.src: Simplified "generate implied end tag" (HTML5 revision 1320). 2008-03-07 Wakaba * HTML.pm.src (_tree_construction_main): Merge rules for "h1" and "div" (HTML5 revision 1318). Add comments to where |form| pointer association codes should be inserted (HTML5 revision 1319). 2008-03-06 Wakaba * HTML.pm.src: treatement refined (HTML5 revision 1314). 2008-03-05 Wakaba * HTML.pm.src: Since the case t268 should never be reached (no other token type, there are), it is replaced by a |die| statement. 2008-03-05 Wakaba * HTML.pm.src: Typo fixed. 2008-03-04 Wakaba * HTML.pm.src (_tree_construction_initial): Some limited quirks doctypes were not uppercased for comparison. 2008-03-03 Wakaba * HTML.pm.src (tree construction and set_inner_html): Checkpoints are added. 2008-03-03 Wakaba * HTML.pm.src (_tokenize_attempt_to_consume_an_entity): Checkpoints are set. Cases that are unlikely reached are noted as so. 2008-03-03 Wakaba * HTML.pm.src: Checkpoints for debugging are added. * mkhtmlparser.pl: Support for |!!!cp| syntax. 2008-03-03 Wakaba * HTML.pm.src, mkhtmlparser.pl: s/_input_character/_char/g for simplicity. 2008-03-03 Wakaba * HTML.pm.src: Flag name changed: s/correct/force-quirks/g (HTML5 revision 1307). 2008-03-03 Wakaba * HTML.pm.src (_get_next_token): Where the /incorrect/ flag is set are changed (HTML5 revision 1305). 2008-03-02 Wakaba * HTML.pm.src: Raise a parse error for || (HTML5 revision 1292). Entities are not parsed in comment-like part in RCDATA elements (HTML5 revision 1294). Allow bare & at the end of attribute value literals (HTML5 revision 1296). More quirks mode doctypes (HTML5 revision 1302). Requires spaces between attributes and ban attribute names or unquoted attribute values containing single or double quotes (HTML5 revision 1303). 2008-03-02 Wakaba * ContentChecker.pm: Typo fixed. Don't raise "character encoding" and related errors unless it is an HTML document (though the spec is unclear on whether it is applied to XHTML document). * HTML.pm (%HTMLAttrStatus): WF2 repetition model attributes are added. 2008-03-02 Wakaba * HTML.pm.src: s/local_name/manakai_local_name/g. 2008-03-01 Wakaba * _NamedEntityList.pm: Updated (HTML5 revision 1286). * HTML.pm.src: |charset| in |content| attribute is case-insensitive (HTML5 revision 1270). 2008-02-26 Wakaba * ContentChecker.pm: New status constants are added. ($ElementDefault): |status| added. (check_element): Err for non-standard or deprecated elements. (_attr_status_info): For non-standard or deprecated attributes. 2008-02-24 Wakaba * ContentChecker.pm (_attr_status_info): New internal method. 2008-02-24 Wakaba * ContentChecker.pm (check_element): Element standardized status information is now dispatched. 2008-02-24 Wakaba * ContentChecker.pm (check_element): Fix |del|-and-significant problem by adding some more arguments. 2008-02-24 Wakaba * ContentChecker.pm (check_element): Use context of container-for-the-purpose-of-content-model element (not transparent element) for |check_child_element| calling and significant text flag marking. This reintroduces ||-and-significant problem again. 2008-02-24 Wakaba * ContentChecker.pm (check_element): Make semi-transparent elements ignored for the purpose of phase changes in content model checking. 2008-02-23 Wakaba * ContentChecker.pm (check_element): In-element state was not properly managed for transparent cases. 2008-02-23 Wakaba * ContentChecker.pm (check_element): Support for |video| and |audio| as semi-transparent elements. 2008-02-23 Wakaba * ContentChecker.pm ($HTMLSemiTransparentElements): New. (check_element): s/minuses/minus_elements/, s/pluses/plus_elements/. Support for |html:object| as a semi-transparent element. 2008-02-23 Wakaba * ContentChecker.pm (check_element): The way to traverse the tree is entirely revised to make it easier to track the state of ancestors/descendants. As a result of this revision (which rewrites almost all of Whatpm::ContentChecker::HTML), support for content model checking for HTML elements |figure|, |object|, |video|, and |audio| and checking for XML elements (and some XMLNS checkings) are dropped for now. They will be reimplemented in due cource. 2008-02-17 Wakaba * HTML.pm.src: |>| in public or system literal closes the DOCTYPE token (HTML5 revision 1225). 2008-02-17 Wakaba * ContentChecker.pm ({unsupported_level}): New value. * HTML.pm.src: Save whether |meta| |content| attribute contains character references or not. 2008-02-17 Wakaba * ContentChecker.pm (_get_children): (Incompleted) attempt to imlement significant content checking for contents with |del| elements. 2008-02-17 Wakaba * ContenteChecker.pm ($HTMLTransparentElements): More elements are added. (_get_children): HTML |object| elements are now semi-transparent. * NanoDOM.pm (manakai_html, manakai_head): New methods. 2008-02-16 Wakaba * CacheManifest.pm: HTML5 revision 1211 implemented. * CacheManifest.pod: Updated. 2008-02-10 Wakaba * ContentChecker.pm (check_document, check_element): Support for second argument ($onsubdoc). (_get_css_parser): Removed (now it is part of WDCC). 2008-02-09 Wakaba * ContentChecker.pm (_get_css_parser): New. 2007-11-25 Wakaba * ContentChecker.pm ($AnyChecker): Old way to add child elements for checking had been used. 2007-11-25 Wakaba * ContentChecker.pm (check_element): New todo item type |descendant|. 2007-11-23 Wakaba * IMTChecker.pm: Revised to raise errors and warnings as (poorly) specced in RFC 2046 and RFC 4288. (application/atom+xml): Definition added. 2007-11-23 Wakaba * URIChecker.pm: Make RFC 3986 should-level errors warnings (rather than SHOULD-level errors). 2007-11-23 Wakaba * NanoDOM.pm (get_user_data, set_user_data): New methods. * HTML.pm.src: A flag for character references in attribute values are added. Set |manakai_has_reference| user data to |charset| attribute. 2007-11-23 Wakaba * NanoDOM.pm (input_encoding, manakai_charset, manakai_has_bom): New attributes. * ContentChecker.pm (check_document): Warn if charset requirements cannot be tested. 2007-11-19 Wakaba * HTML.pm.src (parse_byte_string): Detect charset by universalchardet if charset parameter is not specified. * Makefile (Charset-all, Charset-clean): New rules. 2007-11-18 Wakaba * ContentChecker.pm (check_document): Check the existence of character encoding declaration and selection of encoding for HTML document. 2007-11-18 Wakaba * ContentType.pm (get_sniffed_type): Return also the official type in list context. 2007-11-18 Wakaba * ContentType.pm: Sniffing with leading white space ignoring (HTML5 revisions 1013 and 1016). 2007-11-18 Wakaba * ContentType.pm: HTML5 revision 1013 changes, except for leading white spaces, are implemented. 2007-11-11 Wakaba * HTML.pm.src (parse_char_string): Set |inner_encoding| attribute if possible. 2007-11-11 Wakaba * HTML.pm.src (parse_byte_string): New method. (parse_char_string): New alias for |parse_string|. (main phase): Invoking "change the encoding" algorithm if desired. * HTML.pod: Updated. 2007-11-11 Wakaba * HTML.pod (get_inner_html): Removed. * Makefile (HTML-all, HTML-clean): New. 2007-11-11 Wakaba * HTML.pm.src (get_inner_html): Removed (moved to HTML/Serializer.pm). 2007-11-08 Wakaba * mklinktypelist.pl: s/noreferer/noreferrer/ (HTML5 revision 1132). 2007-11-04 Wakaba * Makefile: |CacheManifest.html| is added. * CacheManifest.pod: New file. 2007-11-04 Wakaba * CacheManifest.pm: New module. 2007-11-04 Wakaba * HTML.pm.src: Support for application cache selection algorithm callback. 2007-11-04 Wakaba * mklinktypelist.pl: Support for rel=noreferer (HTML5 revision 1118). 2007-10-17 Wakaba * Makefile (clean): New rule. * NanoDOM.pm (public_id, system_id): New attributes. 2007-10-17 Wakaba * Makefile (CSS-all, CSS-clean, clean): New rules. 2007-10-14 Wakaba * ContentChecker.pm (check_document): Support for new |is_xml_root| flag. (check_element): Support for new |pluses| state. (_add_pluses): New method. (_remove_minuses): Support for new |minus| item. 2007-09-24 Wakaba * ContentChecker.pm: Raise specific error for invalid root element. 2007-09-24 Wakaba * ContentChecker.pm: Set level values for later uses. 2007-09-09 Wakaba * ContentChecker.pm: Support for language tag validation. 2007-09-09 Wakaba * LangTag.pm (check_rfc3066_language_tag): New method. 2007-09-09 Wakaba * LangTag.pm: New module. 2007-09-04 Wakaba * HTML.pm.src: Some error types were wrong. 2007-08-17 Wakaba * CSS/: New directory. 2007-08-17 Wakaba * ContentChecker.pm (_check_get_children): Support for |noscript| in |head|. 2007-08-12 Wakaba * URI/: New directory. 2007-08-11 Wakaba * HTML.pm.src: Tokenizer's states are now represented in number. 2007-08-11 Wakaba * HTML.pm.src: |or|s for insertion modes are replaced by |&|s. 2007-08-11 Wakaba * HTML.pm.src: Token types are now represented in number. 2007-08-11 Wakaba * ContentType.pm (SEE ALSO): Updated. * HTML.pm.src: Insertion modes are now represented in number. 2007-08-11 Wakaba * ContentType.pm: Sniffing for bitmap images (HTML5 revision 999) is implemented. 2007-08-08 Wakaba * ContentType.pm: Sniffing for | * ContentChecker.pod: New documentation. * Makefile: A rule for |ContentChecker.html| is added. * ContentChecker.pm: A pod "LICENSE" section is added. * NanoDOM.pm ($VERSION): New variable. 2007-08-05 Wakaba * H2H.pm: |b|, |i|, and |sub| are added to the list of allowed HTML elements. 2007-08-05 Wakaba * H2H.pm: |samp| is added to the list of allowed HTML elements. * URIChecker.pm (check_iri): New. (check_iri_reference): Error type for IRI reference syntax error is changed. 2007-08-04 Wakaba * ContentChecker.pm: Reference to the |Whatpm::ContentChecker::Atom| is added. (check_document): Load appropriate module before validation. 2007-08-04 Wakaba * ContentChecker/: New directory. 2007-08-04 Wakaba * ContentChecker.pm: HTML |time| element is implemented. * HTMLTable.pm: Comments are updated as HTML5 is revised. 2007-07-21 Wakaba * ContentChecker.pm (check_document): Return value even if no document element is found. 2007-07-21 Wakaba * HTML.pm.src: |$in_body| is no longer a function. 2007-07-21 Wakaba * HTML.pm.src: The |$in_body| code has been moved down. 2007-07-21 Wakaba * HTML.pm.src: The "trailing end" insertion mode is split into "after html body" and "after html frameset" insertion modes. Their codes are merged with "after body" and "after frameset" codes. |$previous_insertion_mode| has been removed. "after frameset" code is merged with "in frameset" code. 2007-07-21 Wakaba * HTML.pm.src: The "before head" insertion mode is merged with the "in head" insertion mode. 2007-07-21 Wakaba * HTML.pm.src: Cases in "in head" insertion mode are reorganized. 2007-07-21 Wakaba * HTML.pm.src: Some cases in "in table" insertion mode are merged. 2007-07-21 Wakaba * HTML.pm.src: The "in row" insertion mode is merged with "in table" insertion mode. 2007-07-21 Wakaba * HTML.pm.src: The "in table" and "in table body" insertion modes are merged. 2007-07-21 Wakaba * HTML.pm.src: There is no "in table head" or "in table foot" insertion mode! 2007-07-21 Wakaba * HTML.pm.src: || "in frameset" and "in noframes" now directly invoke the handler. 2007-07-21 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Codes for "in cell" insertion mode is merged to the "in body" insertion mode code. 2007-07-21 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Codes for "in body" and "in caption" insertion modes are merged. 2007-07-21 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Two |!!!next-token|s were missing. 2007-07-21 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Use numeric constant for |{content_mode}| instead of string constant for |{content_model_flag}|. 2007-07-21 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Add the name of the attribute to the "duplicate attribute" error. 2007-07-17 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Return the |class| node list. 2007-07-17 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Return the |id| node list. * HTML.pm.src: A typo is fixed. 2007-07-16 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Drop wrong |level => 'error'| specification from "in HTML:xml:lang" error. Character position is now the last part of the error type in the URI error description. Report "unsupported" status for language tags, media queries, script codes, and style sheets. 2007-07-16 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Report error if |xml:lang| in HTML, |lang| in XML, |xmlns| in XML, and |meta| |charset| in XML. * NanoDOM.pm (Attr.owner_document): New attribute. 2007-07-16 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: The character immediately following a bare |hcro| was discarded. Fix handling of entity references in attribute values. 2007-07-16 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src (main and trailin end phases): Token types |DOCTYPE|, |comment|, |end-of-file|, and |<html>| are factored out. Error types |in html:#DOCTYPE| and |after html:#DOCTYPE| are merged into |DOCTYPE in the middle|. |</frameset>| in fragment parsing mode changed the insertion mode. 2007-07-16 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: |$phase| has been removed; The |trailing end| phase is now an insertion mode. Treatments for white space character tokens were incorrect for some insertion modes. An old |meta| case was not removed. 2007-07-16 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: |meta| charset declaration extraction implemented (but changing the encoding is not yet:-). 2007-07-15 Wakaba <wakaba@suika.fam.cx> * Charset/: New directory. 2007-07-15 Wakaba <wakaba@suika.fam.cx> * H2H.pm: New Perl module (created from manakai's H2H.dis). 2007-07-15 Wakaba <wakaba@suika.fam.cx> * XMLSerializer.pm: New Perl module (created from manakai's SimpleLS.dis). 2007-07-07 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: |<!---x-->| was not processed correctly. 2007-07-01 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Report correct error message for |<body></div></body>|. 2007-07-01 Wakaba <wakaba@suika.fam.cx> * HTMLTable.pm: An error description was incorrect. 2007-06-30 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Return |{term}| list. 2007-06-30 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revisions 961-966 (</p>, </br>, nested <nobr>, implied </tbody>, </tfoot>, and </thead>, and <title> outside of head). 2007-06-30 Wakaba <wakaba@suika.fam.cx> * IMTChecker.pm: Report warning for unregistered and private types/subtypes. * ContentChecker.pm, HTML.pm.src, IMTChecker.pm, URIChecker.pm, HTMLTable.pm: Error messages are now consistent; they are all listed in <http://suika.fam.cx/gate/2005/sw/Whatpm%20Error%20Types>. 2007-06-25 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: |<img ismap>| not in |<a></a>| is now erred. |<datalist>| is implemented. Attribute checker for |<command>| and |<menu>| are added. Support for |contextmenu| global attribute is added. 2007-06-25 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src (_reset_insertion_mode): Interpretation of Step 3 has been changed. 2007-06-25 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Late |<html>| parse error is implemented. 2007-06-24 Wakaba <wakaba@suika.fam.cx> * URIChecker.pm (check_iri_reference): A |decode| method name was incorrect. * ContentChecker.pm: Support for the |footer| element. Check URI syntax for space-separated URI attributes. Support for the |tabindex| attribute. Support for |datetime| attribute. 2007-06-24 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 1.144 (&#x0D;) and 1.145 (invalid character references). HTML5 revision 1.146 (white space characters before root start tag). HTML5 revision 1.148 (named character references in attribute values). HTML5 revision 1.152 (<plaintext>.innerHTML get). 2007-06-24 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revisions 1.142 and 1.143 (<noscript> in <head>). 2007-06-24 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 935 (<base>, <link>, <meta> in body). * ContentChecker.pm: HTML5 revision 938 (scoped=""). 2007-06-24 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 923 (matching end tag in CDATA or RCDATA in fragment parsing mode). HTML5 revision 924 (<!--> and <!--->). HTML5 revision 926 (hn in hn). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src (get_inner_html): HTML5 revision 922 (inner_html for <pre> and <textarea>). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 920 (<isindex>). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 918 (</head>, </body>, </html>). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 916 (</body>). HTML5 revision 917 (conforming bare &). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * NanoDOM.pm (manakai_is_html): Setting to false did not work. * HTML.pm.src: HTML5 revision 914 (</ in CDATA, RCDATA). HTML5 revision 915 (<nobr>). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revisions 908, 909, 912, and 913 (quirks mode). * NanoDOM.pm (manakai_is_html, manakai_compat_mode, compat_mode): New attributes. 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revisions 900, 901, 902, and 911 (< in tags). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * .cvsignore: |Entities.html| is added. * HTML.pm.src: |$entity_char| is removed and requires |Whatpm::_NamedEntityList| instead. HTML5 revision 898 (refc), except that lack of refc is parse error. * mkentitylist.pl: New script. * Makefile (all): |_NamedEntityList.pm| is added. (_NamedEntityList.pm, Entities.html): New rules. 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Parse errors immediately after U+000D were ignored and U+000D immediately following another U+000D was not converted to U+000A. 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src (set_inner_html): HTML5 revision 892 (adopt nodes before appended). Parser was not ready for NULL parse error and escape flag. * NanoDOM.pm (adopt_node): New. 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 886 (insane comment in CDATA and RCDATA). Note that current implementation is simply repeating what the spec says and it is maybe not a best way to do it. 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 884 (</form> don't close the form element if a descendant element without implied end tag has still been open). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: HTML5 revision 881 (Make |id| attribute with space characters non-conforming). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: An error message was incorrect. HTML5 revision 869 (C1 character references). 2007-06-23 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: HTML5 revision 867 (a LF at the beginning of a |textarea| is removed). 2007-06-05 Wakaba <wakaba@suika.fam.cx> * NanoDOM.pm (get_attribute_node_ns): New method. * ContentChecker.pm: |script| |async| and |defer| no longer require |src|. |async| MUST NOT be specified if |defer|. (HTML5 revision 858). 2007-05-30 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: |<form><form>| went to inifinite loop. 2007-05-27 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm (html): Set |is_root| (allowed as a document element) flag on. (new): Removed. (check_document): New method. 2007-05-27 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm (thead, tfoot): Checker specifications were incorrect. 2007-05-27 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($HTMLURIAttrChecker): Include error position in the |type| option of the error. * HTMLTable.pm (form_table): The |$onerror| parameter is now optional. Some bugs are fixed. 2007-05-27 Wakaba <wakaba@suika.fam.cx> * HTMLTable.pm: New module. * ContentChecker.pm (table): Invoke table model error checker. * NanoDOM.pm (first_child, get_attribute_ns): New. 2007-05-26 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($HTMLLinkTypesAttrChecker): New checker. (link/@rel, a/@rel, area/@rel): Use new checker. * Makefile (_LinkTypeList.pm, RelExtensions.html): New rules. * _LinkTypeList.pm: New file. * mklinktypelist.pl: New file. * .cvsignore: |RelExtensions.html| added. * NanoDOM.pm (child_nodes): Returns an empty array for non-child-containing node types. (text_content): New attribute. 2007-05-26 Wakaba <wakaba@suika.fam.cx> * IMTChecker.pm: New module. * ContentChecker.pm ($HTMLIMTAttrChecker): Call IMTChecker to test parameter value validity. * HTML.pm.src ($style_start_tag): Attributes were discarded. 2007-05-25 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($HTMLURIAttrChecker): Implemented. 2007-05-25 Wakaba <wakaba@suika.fam.cx> * URIChecker.pm: All recommendations from RFC 3986 and RFC 3987 are listed (not all testable items are checked yet). 2007-05-25 Wakaba <wakaba@suika.fam.cx> * URIChecker.pm: New module. 2007-05-20 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Now most attributes are implemented or associated to some placeholder. ($ElementDefault): Warn unknown attributes for unknown elements as "attribute not supported". ($HTMLLanguageTagAttrChecker, $HTMLMQAttrChecker): New placeholders. ($HTMLUsemapAttrChecker, $HTMLTargetAttrChecker): New checkers. (|a| attribute checker): Reimplemented. 2007-05-20 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($HTMLEventHandlerAttrChecker): New placeholder. ($HTMLAttrChecker): Event handler content attributes are added. (link, embed): Required attribute is now checked. (embed): Unknown local attributes are no longer warned. 2007-05-20 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($HTMLSpaceURIsAttrChecker): New placeholder. ($HTMLIMTAttrChecker): New checker. (link@rel, link@href, link@type, style@type, a@href, a@ping, a@ping, a@type, embed@src, embed@type, object@data, object@type, source@src, source@type, area@alt, area@shape, area@coords, area@href, area@ping, area@rel, area@type, script@src, script@defer, script@async, script@type): Checkers added. 2007-05-20 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Descendant checking was incorrect. 2007-05-19 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Support |xml:*| and |xmlns:*| attributes. Report an error if |Element.prefix| is |xmlns|. * NanoDOM.pm (prefix): New attribute. 2007-05-19 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: In |main| phase, |in body| insertion mode, action for |<iframe>| was missing. 2007-05-19 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Support for many of HTML5 elements. ($GetHTMLNonNegativeIntegerAttrChecker): New. 2007-05-19 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Support for most elements up to |progress|. ($HTMLURIAttrChecker): Placeholder. ($HTMLIntegerAttrChecker, $GetHTMLFloatingPointNumberAttrChecker): New. 2007-05-19 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Attribute checkers for global attributes, |html|, |base|, |style|, and |meta|. * NanoDOM.pm (insert_before): Weaken reference to the parent node. (Attr::new): Set |owner_element| attribute. (namespace_uri, manakai_local_name): New attribute implementations. (owner_element): New attribute. 2007-05-19 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($AttrChecker, $HTMLAttrChecker, $AnyChecker->{attr_checker}, $HTMLAttrsChecker, $Element->{$HTML_NS}->{''}): New. (check_element): Invoke attrs_checker for each element. 2007-05-13 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Don't use |manakai_element_type_match|. 2007-05-13 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Use hashs rather than lists for element type testings. 2007-05-13 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: Don't generate duplicate error when an element type is put in the "minus" list and the element type is not allowed explicitly in the particular element content model. (html:a checker): New checker. (html:details, html:datagrid): New checkers. (html:legend): New checker. 2007-05-13 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm (html:li checker): Implemented. 2007-05-13 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($HTMLInlineOrStriclyInlineChecker): New checker. (html:dd checker): New checker. (html:q, html:em, html:strong, html:small, html:m, html:dfn, html:code, html:samp, html:span): New checkers. 2007-05-13 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm ($AnyChecker): Renamed from |$ElementDefault->{checker}|. ($ElementDefault->{checker}): Throw an error that the element type is not supported by the checker. ($HTMLMetadataElement): |html:base| was missing. ($HTMLEmptyChecker): Don't throw an error for inter-element whitespace nodes. (html:html checker): Errors were not thrown even if |html:head| and/or |html:body| children were missing. (html:head checker): An error was not thrown if <meta charset> appered after other elements. 2007-05-05 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: |footer|, |video|, |audio|, |script|, and |noscript| elements are implemented. (new): New method. 2007-05-04 Wakaba <wakaba@suika.fam.cx> * ContentChecker.pm: New module. 2007-05-04 Wakaba <wakaba@suika.fam.cx> * NanoDOM.pm (manakai_parent_element, document_element, manakai_local_name, manakai_element_type_match): New method. 2007-05-03 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Replace decimal and hexadecimal numeric entities in C1 range using Windows-1252 mapping. Bare LF did not count as new line for error reporting. 2007-05-02 Wakaba <wakaba@suika.fam.cx> * NanoDOM.pm (DOMImplementation): New class. (append_child): Weaken the |parent_node| reference. (create_element_ns, Element new): Set the |owner_document| reference. (implementation): New attribute. (owner_document, local_name, namespace_uri): New attributes. * HTML.pm.src (parse_string): Line and column numbers are now provided to error handler. (!!!parse-error): Short descriptions are added. (_construct_tree): Split into three methods; support for innerHTML mode. (set_inner_html): New method. 2007-05-01 Wakaba <wakaba@suika.fam.cx> * NanoDOM.html: Documentation is added. * HTML.pod, ContentType.html: Documentation is revised. * .cvsignore: Pod2html temporary files are added. * Makefile: Make |NanoDOM.html|. 2007-05-01 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src (parse_string): New method. (get_inner_html): Renamed from |inner_html|. * Makefile: A rule for |HTML.html| is added. * HTML.pod: New documentation. 2007-05-01 Wakaba <wakaba@suika.fam.cx> * NanoDOM.pm (last_child, previous_sibling): New attributes. (clone_node): Attribute nodes were not completely copied. * HTML.pm.src: Many bugs are fixed. 2007-04-30 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Some typos are fixed. 2007-04-30 Wakaba <wakaba@suika.fam.cx> * mkhtmlparser.pl, Makefile: References to the |HTML-consume-entity.src| are removed. * HTML.pm.src: Tokenizer's handling on named entities are rewritten. * HTML-consume-entity.src: Removed. 2007-04-30 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Tokenizer's handling on hexadecimal numeric entities are rewritten. 2007-04-30 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: Some tokenizer bugs are fixed. 2007-04-30 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src: The tree construction stage is implemented. * mkhtmlparser.pl: New macros are added. 2007-04-28 Wakaba <wakaba@suika.fam.cx> * ContentType.pm: A note on bug in the specification is removed since it's been now fixed. * .cvsignore: New file. 2007-04-28 Wakaba <wakaba@suika.fam.cx> * HTML.pm.src, HTML-consume-entity.src: New files. * Makefile (HTML.pm): New rule. * mkhtmlparser.pl: New script. 2007-04-25 Wakaba <wakaba@suika.fam.cx> * Makefile: New file. 2007-04-24 Wakaba <wakaba@suika.fam.cx> * ContentType.pm: An error in pod is fixed. 2007-04-24 Wakaba <wakaba@suika.fam.cx> * ContentType.pm: Documentation is added. 2007-04-24 Wakaba <wakaba@suika.fam.cx> * ContentType.pm: New Perl module. * ChangeLog: New file.