In Files
- rexml/light/node.rb
 
Parent
Class/Module Index
          ![show/hide quicksearch [+]](../../images/find.png)
        
        - Array
 - Fixnum
 - Float
 - Object
 - REXML
 - REXML::AttlistDecl
 - REXML::Attribute
 - REXML::Attributes
 - REXML::CData
 - REXML::Child
 - REXML::Comment
 - REXML::DTD
 - REXML::DTD::AttlistDecl
 - REXML::DTD::ElementDecl
 - REXML::DTD::EntityDecl
 - REXML::DTD::NotationDecl
 - REXML::DTD::Parser
 - REXML::Declaration
 - REXML::DocType
 - REXML::Document
 - REXML::Element
 - REXML::ElementDecl
 - REXML::Elements
 - REXML::Encoding
 - REXML::Entity
 - REXML::EntityConst
 - REXML::ExternalEntity
 - REXML::Formatters
 - REXML::Formatters::Default
 - REXML::Formatters::Pretty
 - REXML::Formatters::Transitive
 - REXML::Functions
 - REXML::IOSource
 - REXML::Instruction
 - REXML::Light
 - REXML::Light::Node
 - REXML::Namespace
 - REXML::Node
 - REXML::NotationDecl
 - REXML::Output
 - REXML::Parent
 - REXML::ParseException
 - REXML::Parsers
 - REXML::Parsers::BaseParser
 - REXML::Parsers::LightParser
 - REXML::Parsers::PullEvent
 - REXML::Parsers::PullParser
 - REXML::Parsers::SAX2Parser
 - REXML::Parsers::StreamParser
 - REXML::Parsers::TreeParser
 - REXML::Parsers::UltraLightParser
 - REXML::Parsers::XPathParser
 - REXML::QuickPath
 - REXML::SAX2Listener
 - REXML::Security
 - REXML::Source
 - REXML::SourceFactory
 - REXML::StreamListener
 - REXML::SyncEnumerator
 - REXML::Text
 - REXML::UndefinedNamespaceException
 - REXML::Validation
 - REXML::Validation::Choice
 - REXML::Validation::Event
 - REXML::Validation::Interleave
 - REXML::Validation::OneOrMore
 - REXML::Validation::Optional
 - REXML::Validation::Ref
 - REXML::Validation::RelaxNG
 - REXML::Validation::Sequence
 - REXML::Validation::State
 - REXML::Validation::ValidationException
 - REXML::Validation::Validator
 - REXML::Validation::ZeroOrMore
 - REXML::XMLDecl
 - REXML::XMLTokens
 - REXML::XPath
 - REXML::XPathParser
 - Symbol
 
REXML::Light::Node
Represents a tagged XML element. Elements are characterized by having children, attributes, and names, and can themselves be children.
Public Class Methods
            new(node=nil)
            
          
          
          Create a new element.
 
               # File rexml/light/node.rb, line 21
def initialize node=nil
  @node = node
  if node.kind_of? String
    node = [ :text, node ]
  elsif node.nil?
    node = [ :document, nil, nil ]
  elsif node[0] == :start_element
    node[0] = :element
  elsif node[0] == :start_doctype
    node[0] = :doctype
  elsif node[0] == :start_document
    node[0] = :document
  end
end
             
            Public Instance Methods
            <<(element)
            
          
          
          Append a child to this element, optionally under a provided namespace. The namespace argument is ignored if the element argument is an Element object. Otherwise, the element argument is a string, the namespace (if provided) is the namespace the element is created in.
 
               # File rexml/light/node.rb, line 122
def << element
  if node_type() == :text
    at(-1) << element
  else
    newnode = Node.new( element )
    newnode.parent = self
    self.push( newnode )
  end
  at(-1)
end
             
            
            []( reference, ns=nil )
            
          
          
           
               # File rexml/light/node.rb, line 86
def []( reference, ns=nil )
  if reference.kind_of? String
    pfx = ''
    pfx = "#{prefix(ns)}:" if ns
    at(3)["#{pfx}#{reference}"]
  elsif reference.kind_of? Range
    _old_get( Range.new(4+reference.begin, reference.end, reference.exclude_end?) )
  else
    _old_get( 4+reference )
  end
end
             
            
            []=( reference, ns, value=nil )
            
          
          
          Doesn’t handle namespaces yet
 
               # File rexml/light/node.rb, line 103
def []=( reference, ns, value=nil )
  if reference.kind_of? String
    value = ns unless value
    at( 3 )[reference] = value
  elsif reference.kind_of? Range
    _old_put( Range.new(3+reference.begin, reference.end, reference.exclude_end?), ns )
  else
    if value
      _old_put( 4+reference, ns, value )
    else
      _old_put( 4+reference, ns )
    end
  end
end
             
            
            has_name?( name, namespace = '' )
            
          
          
           
               # File rexml/light/node.rb, line 147
def has_name?( name, namespace = '' )
  at(3) == name and namespace() == namespace
end
             
            
            local_name=( name_str )
            
          
          
           
               # File rexml/light/node.rb, line 67
def local_name=( name_str )
  _old_put( 1, "#@prefix:#{name_str}" )
end
             
            
            name=( name_str, ns=nil )
            
          
          
           
               # File rexml/light/node.rb, line 52
def name=( name_str, ns=nil )
  pfx = ''
  pfx = "#{prefix(ns)}:" if ns
  _old_put(2, "#{pfx}#{name_str}")
end
             
            
            namespace( prefix=prefix() )
            
          
          
           
               # File rexml/light/node.rb, line 75
def namespace( prefix=prefix() )
  namespace_of( self, prefix )
end
             
            
            namespace=( namespace )
            
          
          
           
               # File rexml/light/node.rb, line 79
def namespace=( namespace )
  @prefix = prefix( namespace )
  pfx = ''
  pfx = "#@prefix:" if @prefix.size > 0
  _old_put(1, "#{pfx}#@name")
end
             
            
            prefix( namespace=nil )
            
          
          
           
               # File rexml/light/node.rb, line 71
def prefix( namespace=nil )
  prefix_of( self, namespace )
end
             
            
            root()
            
          
          
           
               # File rexml/light/node.rb, line 142
def root
  context = self
  context = context.at(1) while context.at(1)
end
             
            
            size()
            
          
          
           
               # File rexml/light/node.rb, line 36
def size
  if PARENTS.include? @node[0]
    @node[-1].size
  else
    0
  end
end