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 value write

Attributes

:element | [R] | The element to which this attribute belongs
:normalized | [W] |

Included modules

Node Namespace

Public Class methods

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

Constructor.

Examples

     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.

Examples

     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

Examples

     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_s()

Returns this attribute out as XML source, expanding the name

Examples

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

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)