class REXML::Element

def initialize( arg = UNDEFINED, parent=nil, context=nil )


e.context # => {:raw=>:all}
e = REXML::Element.new('foo', nil, {raw: :all})

see {Element Context}[../doc/rexml/context_rdoc.html]:
representing the context for the element;
When argument +context+ is also given, it must be a hash

e.parent # => #]>
e = REXML::Element.new('foo', REXML::Parent.new)

When argument +parent+ is also given, it must be an REXML::Parent object:

e1 = REXML::Element.new(e0) # =>
e0 = REXML::Element.new('foo')

returns a shallow copy of the given element:
When only argument +element+ is given, it must be an \REXML::Element object;

REXML::Element.new('foo') # =>

returns an element of the given name:
When only argument +name+ is given,

e.name # => "UNDEFINED"
e.class # => REXML::Element
e = REXML::Element.new # =>

returns an element with name 'UNDEFINED':
When no arguments are given,

Returns a new \REXML::Element object.

Element.new(element, parent = nil, context = nil) -> new_element
Element.new(name = 'UNDEFINED', parent = nil, context = nil) -> new_element
:call-seq:
def initialize( arg = UNDEFINED, parent=nil, context=nil )
  super(parent)
  @elements = Elements.new(self)
  @attributes = Attributes.new(self)
  @context = context
  if arg.kind_of? String
    self.name = arg
  elsif arg.kind_of? Element
    self.name = arg.expanded_name
    arg.attributes.each_attribute{ |attribute|
      @attributes << Attribute.new( attribute )
    }
    @context = arg.context
  end
end