module REXML::Namespace
Adds named attributes to an object.
Constants
- NAMESPLIT
- NAME_WITHOUT_NAMESPACE
Attributes
expanded_name[R]
The name of the object, valid if set
local_name[R]
The name of the object, valid if set
name[R]
The name of the object, valid if set
prefix[RW]
The expanded name of the object, valid if name is set
Public Instance Methods
fully_expanded_name()
click to toggle source
Fully expand the name, even if the prefix wasn’t specified in the source file.
# File lib/rexml/namespace.rb, line 57 def fully_expanded_name ns = prefix return "#{ns}:#@name" if ns.size > 0 return @name end
has_name?( other, ns=nil )
click to toggle source
Compares names optionally WITH namespaces
# File lib/rexml/namespace.rb, line 43 def has_name?( other, ns=nil ) if ns return (namespace() == ns and name() == other) elsif other.include? ":" return fully_expanded_name == other else return name == other end end
name=( name )
click to toggle source
Sets the name and the expanded name
# File lib/rexml/namespace.rb, line 17 def name=( name ) @expanded_name = name if name.match?(NAME_WITHOUT_NAMESPACE) @prefix = "" @namespace = "" @name = name elsif name =~ NAMESPLIT if $1 @prefix = $1 else @prefix = "" @namespace = "" end @name = $2 elsif name == "" @prefix = nil @namespace = nil @name = nil else message = "name must be \#{PREFIX}:\#{LOCAL_NAME} or \#{LOCAL_NAME}: " message += "<#{name.inspect}>" raise ArgumentError, message end end