REXML::Attribute (Class)

In: temp/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   inspect   namespace   new   node_type   prefix   remove   to_s   to_string   value   write   xpath  

Constants

PATTERN = /\s*(#{NAME_STR})\s*=\s*(["'])(.*?)\2/um

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

Public Class methods

Constructor.

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

Public Instance methods

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

Returns a copy of this attribute

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

Returns this attribute

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

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"

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                                   # -> ""

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

This method is usually not called directly.

Returns the attribute value, with entities replaced

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'"

Returns the UNNORMALIZED value of this attribute. That is, entities have been expanded to their values

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

[Validate]