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.