def tag_start(name, attributes)
@text_stack.push('')
ns = @ns_stack.last.dup
attrs = {}
attributes.each do |n, v|
if /\Axmlns(?:\z|:)/ =~ n
ns[$POSTMATCH] = v
else
attrs[n] = v
end
end
@ns_stack.push(ns)
_parent_tag = parent_tag
prefix, local = split_name(name)
uri = _ns(ns, prefix)
@tag_stack.push([uri, local])
state = next_state(@state_stack.last, uri, local)
@state_stack.push(state)
case state
when :test_suite, :test_case
@values = {}
when :test
@values = {}
@n_pass_assertions = 0 if _parent_tag == "start-test"
when :backtrace
@backtrace = []
@values_backup = @values
@values = {}
end
end