def html_tag(sym, *args, &block)
if @auto_validation and @tagset.self_closing.include?(sym) and block
raise InvalidXhtmlError, "the `\#{sym}' element is self-closing, please remove the block"
end
if args.empty? and block.nil? and not NO_PROXY.include?(sym)
return CssProxy.new do |args, block|
if @tagset.forms.include?(sym) and args.last.respond_to?(:to_hash) and args.last[:id]
args.last[:name] ||= args.last[:id]
end
tag!(sym, *args, &block)
end
end
if not @tagset.self_closing.include?(sym) and args.first.respond_to?(:to_hash)
block ||= proc{}
end
tag!(sym, *args, &block)
end