REXML::Namespace (Module)

In: rexml/namespace.rb

Adds named attributes to an object.

Methods

Constants

NAMESPLIT = /^(?:(#{NCNAME_STR}):)?(#{NCNAME_STR})/u

External Aliases

name -> local_name

Attributes

expanded_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

Included Modules

XMLTokens

Public Instance methods

Fully expand the name, even if the prefix wasn’t specified in the source file.

[Source]

# File rexml/namespace.rb, line 41
                def fully_expanded_name
                        ns = prefix
                        return "#{ns}:#@name" if ns.size > 0 
                        return @name
                end

Compares names optionally WITH namespaces

[Source]

# File rexml/namespace.rb, line 27
                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

Sets the name and the expanded name

[Source]

# File rexml/namespace.rb, line 14
                def name=( name )
                        @expanded_name = name
                        name =~ NAMESPLIT
                        if $1
                                @prefix = $1
                        else
                                @prefix = ""
                                @namespace = ""
                        end
                        @name = $2
                end

[Validate]