Class: REXML::Attribute

Class REXML::Attribute |
In: | rexml/attribute.rb
Parent: | Object

Defines an Element Attribute; IE, a attribute=value pair, as in: <element attribute="value"/>. Attributes can be in their own namespaces. General users of REXML will not interact with the Attribute class much.

Methods

== clone element= hash namespace new prefix remove to_s to_string value write

Attributes

:element | [R] | The element to which this attribute belongs
:normalized | [W] | The normalized value of this attribute. That is, the attribute with entities intact.

Included modules

Node Namespace

Public Class methods

new( first, second=nil, parent=nil )

Constructor.

     Attribute.new( attribute_to_clone )
     Attribute.new( source )
     Attribute.new( "attr", "attr_value" )
     Attribute.new( "attr", "attr_value", parent_element )

Public Instance methods

prefix()

Returns the namespace of the attribute.

     e = Element.new( "elns:myelement" )
     e.add_attribute( "nsa:a", "aval" )
     e.add_attribute( "b", "bval" )
     e.attributes.get_attribute( "a" ).prefix   # -> "nsa"
     e.attributes.get_attribute( "b" ).prefix   # -> "elns"
     a = Attribute.new( "x", "y" )
     a.prefix                                   # -> ""

namespace(arg=nil)

Returns the namespace URL, if defined, or nil otherwise

     e = Element.new("el")
     e.add_attributes({"xmlns:ns", "http://url"})
     e.namespace( "ns" )              # -> "http://url"

==( other )

Returns true if other is an Attribute and has the same name and value, false otherwise.

hash()

Creates (and returns) a hash from both the name and value

to_string()

Returns this attribute out as XML source, expanding the name

     a = Attribute.new( "x", "y" )
     a.to_string     # -> "x='y'"
     b = Attribute.new( "ns:x", "y" )
     b.to_string     # -> "ns:x='y'"

to_s()

Returns the attribute value, normalized

value()

Returns the UNNORMALIZED value of this attribute. That is, entities that can be replaced have been replaced.

clone()

Returns a copy of this attribute

element=( element )

Sets the element of which this object is an attribute. Normally, this is not directly called.

Returns this attribute

remove()

Removes this Attribute from the tree, and returns true if successfull

This method is usually not called directly.

write( output, indent=-1 )

Writes this attribute (EG, puts 'key="value"' to the output)