| Class | REXML::Attribute |
| In: |
rexml/attribute.rb
|
| Parent: | Object |
| PATTERN | = | /\s*(#{NAME_STR})\s*=\s*(["'])(.*?)\2/um |
| element | [R] | The element to which this attribute belongs |
| normalized | [W] | The normalized value of this attribute. That is, the attribute with entities intact. |
Constructor.
Attribute.new( attribute_to_clone ) Attribute.new( source ) Attribute.new( "attr", "attr_value" ) Attribute.new( "attr", "attr_value", parent_element )
# File rexml/attribute.rb, line 26 def initialize( first, second=nil, parent=nil ) @normalized = @unnormalized = @element = nil if first.kind_of? Attribute self.name = first.expanded_name @value = first.value if second.kind_of? Element @element = second else @element = first.element end elsif first.kind_of? String @element = parent if parent.kind_of? Element self.name = first @value = second.to_s else raise "illegal argument #{first.class.name} to Attribute constructor" end end
Returns a copy of this attribute
# File rexml/attribute.rb, line 121 def clone Attribute.new self end
Sets the element of which this object is an attribute. Normally, this is not directly called.
Returns this attribute
# File rexml/attribute.rb, line 129 def element=( element ) @element = element self end
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 # -> ""
# File rexml/attribute.rb, line 54 def prefix pf = super if pf == "" pf = @element.prefix if @element end pf end
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'"
# File rexml/attribute.rb, line 89 def to_string "#@expanded_name='#{to_s().gsub(/'/, ''')}'" end
Returns the UNNORMALIZED value of this attribute. That is, entities have been expanded to their values
# File rexml/attribute.rb, line 109 def value return @unnormalized if @unnormalized doctype = nil if @element doc = @element.document doctype = doc.doctype if doc end @normalized = nil @unnormalized = Text::unnormalize( @value, doctype ) end
ruby-doc.org is hosted and maintained by James Britt and Neurogami, LLC, a Ruby consulting company. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.
Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.
For more information on the Ruby programming language, visit ruby-lang.org.
For information about this site or Neurogami, contact james@neurogami.com.