2007-05-30 Wakaba * HTML.pm.src: || went to inifinite loop. 2007-05-27 Wakaba * ContentChecker.pm (html): Set |is_root| (allowed as a document element) flag on. (new): Removed. (check_document): New method. 2007-05-27 Wakaba * ContentChecker.pm (thead, tfoot): Checker specifications were incorrect. 2007-05-27 Wakaba * 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 * HTMLTable.pm: New module. * ContentChecker.pm (table): Invoke table model error checker. * NanoDOM.pm (first_child, get_attribute_ns): New. 2007-05-26 Wakaba * 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 * 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 * ContentChecker.pm ($HTMLURIAttrChecker): Implemented. 2007-05-25 Wakaba * URIChecker.pm: All recommendations from RFC 3986 and RFC 3987 are listed (not all testable items are checked yet). 2007-05-25 Wakaba * URIChecker.pm: New module. 2007-05-20 Wakaba * 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 * 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 * 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 * ContentChecker.pm: Descendant checking was incorrect. 2007-05-19 Wakaba * ContentChecker.pm: Support |xml:*| and |xmlns:*| attributes. Report an error if |Element.prefix| is |xmlns|. * NanoDOM.pm (prefix): New attribute. 2007-05-19 Wakaba * HTML.pm.src: In |main| phase, |in body| insertion mode, action for || was missing. 2007-05-19 Wakaba * ContentChecker.pm: Support for many of HTML5 elements. ($GetHTMLNonNegativeIntegerAttrChecker): New. 2007-05-19 Wakaba * ContentChecker.pm: Support for most elements up to |progress|. ($HTMLURIAttrChecker): Placeholder. ($HTMLIntegerAttrChecker, $GetHTMLFloatingPointNumberAttrChecker): New. 2007-05-19 Wakaba * 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 * ContentChecker.pm ($AttrChecker, $HTMLAttrChecker, $AnyChecker->{attr_checker}, $HTMLAttrsChecker, $Element->{$HTML_NS}->{''}): New. (check_element): Invoke attrs_checker for each element. 2007-05-13 Wakaba * ContentChecker.pm: Don't use |manakai_element_type_match|. 2007-05-13 Wakaba * ContentChecker.pm: Use hashs rather than lists for element type testings. 2007-05-13 Wakaba * 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 * ContentChecker.pm (html:li checker): Implemented. 2007-05-13 Wakaba * 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 * 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 appered after other elements. 2007-05-05 Wakaba * ContentChecker.pm: |footer|, |video|, |audio|, |script|, and |noscript| elements are implemented. (new): New method. 2007-05-04 Wakaba * ContentChecker.pm: New module. 2007-05-04 Wakaba * NanoDOM.pm (manakai_parent_element, document_element, manakai_local_name, manakai_element_type_match): New method. 2007-05-03 Wakaba * 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 * 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 * 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 * 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 * 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 * HTML.pm.src: Some typos are fixed. 2007-04-30 Wakaba * 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 * HTML.pm.src: Tokenizer's handling on hexadecimal numeric entities are rewritten. 2007-04-30 Wakaba * HTML.pm.src: Some tokenizer bugs are fixed. 2007-04-30 Wakaba * HTML.pm.src: The tree construction stage is implemented. * mkhtmlparser.pl: New macros are added. 2007-04-28 Wakaba * ContentType.pm: A note on bug in the specification is removed since it's been now fixed. * .cvsignore: New file. 2007-04-28 Wakaba * HTML.pm.src, HTML-consume-entity.src: New files. * Makefile (HTML.pm): New rule. * mkhtmlparser.pl: New script. 2007-04-25 Wakaba * Makefile: New file. 2007-04-24 Wakaba * ContentType.pm: An error in pod is fixed. 2007-04-24 Wakaba * ContentType.pm: Documentation is added. 2007-04-24 Wakaba * ContentType.pm: New Perl module. * ChangeLog: New file.