# File src/Tag.rb, line 19
        def openTag(*args)
                context = nil
                if args.first.is_a? Hash
                        extraAttributes = args.first
                elsif args.last.is_a?(Iowa::Context)
                        context = args.pop
                        extraAttributes = Hash[*args]
                else
                        extraAttributes = Hash[*args]
                end
                
                newAttributes = @attributes.dup.update(extraAttributes)

                if context
                        @bindings.each do |k,v|
                                next if k.to_s == 'action' or k.to_s == 'item' or k.to_s == 'list' or k.to_s == 'key'
                                newAttributes[k] = context.getBinding(v)
                        end
                end
                
                tag = "<#{tagName}"
                newAttributes.each do |key, value| 
                        if value
                                value = CGI::escapeHTML(value.to_s)
                                tag += " #{key}=\"#{value}\""
                        else
                                tag += " #{key}"
                        end
                end
                tag += ">"
        end