Class: Nokogiri::XML::Attr

### Home Classes Methods

### In Files

- lib/nokogiri/xml/attr.rb
- ext/nokogiri/html_document.c

### Parent

Node

### Methods

- ::new
- #content=
- #value=

### Files

- C_CODING_STYLE.rdoc
- Manifest.txt
- README.txt

### Class/Module Index

Quicksearch

- Nokogiri
- Nokogiri::CSS
- Nokogiri::CSS::Node
- Nokogiri::CSS::Parser
- Nokogiri::CSS::SyntaxError
- Nokogiri::CSS::Tokenizer
- Nokogiri::CSS::Tokenizer::ScanError
- Nokogiri::Decorators
- Nokogiri::Decorators::Slop
- Nokogiri::EncodingHandler
- Nokogiri::HTML
- Nokogiri::HTML::Builder
- Nokogiri::HTML::Document
- Nokogiri::HTML::Document::EncodingReader
- Nokogiri::HTML::Document::EncodingReader::JumpSAXHandler
- Nokogiri::HTML::DocumentFragment
- Nokogiri::HTML::ElementDescription
- Nokogiri::HTML::EntityDescription
- Nokogiri::HTML::EntityLookup
- Nokogiri::HTML::SAX
- Nokogiri::HTML::SAX::Parser
- Nokogiri::HTML::SAX::ParserContext
- Nokogiri::HTML::SAX::PushParser
- Nokogiri::SyntaxError
- Nokogiri::XML
- Nokogiri::XML::Attr
- Nokogiri::XML::AttributeDecl
- Nokogiri::XML::Builder
- Nokogiri::XML::CDATA
- Nokogiri::XML::CharacterData
- Nokogiri::XML::Comment
- Nokogiri::XML::DTD
- Nokogiri::XML::Document
- Nokogiri::XML::DocumentFragment
- Nokogiri::XML::Element
- Nokogiri::XML::ElementContent
- Nokogiri::XML::ElementDecl
- Nokogiri::XML::EntityDecl
- Nokogiri::XML::EntityReference
- Nokogiri::XML::Namespace
- Nokogiri::XML::Node
- Nokogiri::XML::Node::SaveOptions
- Nokogiri::XML::NodeSet
- Nokogiri::XML::Notation
- Nokogiri::XML::PP
- Nokogiri::XML::PP::CharacterData
- Nokogiri::XML::PP::Node
- Nokogiri::XML::ParseOptions
- Nokogiri::XML::ProcessingInstruction
- Nokogiri::XML::Reader
- Nokogiri::XML::RelaxNG
- Nokogiri::XML::SAX
- Nokogiri::XML::SAX::Document
- Nokogiri::XML::SAX::Parser
- Nokogiri::XML::SAX::Parser::Attribute
- Nokogiri::XML::SAX::ParserContext
- Nokogiri::XML::SAX::PushParser
- Nokogiri::XML::Schema
- Nokogiri::XML::Searchable
- Nokogiri::XML::SyntaxError
- Nokogiri::XML::Text
- Nokogiri::XML::XPath
- Nokogiri::XML::XPath::SyntaxError
- Nokogiri::XML::XPathContext
- Nokogiri::XSLT
- Nokogiri::XSLT::Stylesheet
- XSD
- XSD::XMLParser
- XSD::XMLParser::Nokogiri

No matching classes.

# Nokogiri::XML::Attr

### Public Class Methods

new(document, name) click to toggle source

Create a new Attr element on the `document` with `name`

    static VALUE new(int argc, VALUE *argv, VALUE klass)
    {
      xmlDocPtr xml_doc;
      VALUE document;
      VALUE name;
      VALUE rest;
      xmlAttrPtr node;
      VALUE rb_node;

      rb_scan_args(argc, argv, "2*", &document, &name, &rest);

      Data_Get_Struct(document, xmlDoc, xml_doc);

      node = xmlNewDocProp(
          xml_doc,
          (const xmlChar *)StringValuePtr(name),
          NULL
      );

      nokogiri_root_node((xmlNodePtr)node);

      rb_node = Nokogiri_wrap_xml_node(klass, (xmlNodePtr)node);
      rb_obj_call_init(rb_node, argc, argv);

      if(rb_block_given_p()) rb_yield(rb_node);

      return rb_node;
    }

### Public Instance Methods

content=(p1) click to toggle source
Alias for: value=
value=(content) click to toggle source

Set the value for this Attr to `content`

    static VALUE set_value(VALUE self, VALUE content)
    {
      xmlAttrPtr attr;
      Data_Get_Struct(self, xmlAttr, attr);

      if(attr->children) xmlFreeNodeList(attr->children);

      attr->children = attr->last = NULL;

      if(content) {
        xmlChar *buffer;
        xmlNode *tmp;

        /* Encode our content */
        buffer = xmlEncodeEntitiesReentrant(attr->doc, (unsigned char *)StringValuePtr(content));

        attr->children = xmlStringGetNodeList(attr->doc, buffer);
        attr->last = NULL;
        tmp = attr->children;

        /* Loop through the children */
        for(tmp = attr->children; tmp; tmp = tmp->next) {
          tmp->parent = (xmlNode *)attr;
          tmp->doc = attr->doc;
          if(tmp->next == NULL) attr->last = tmp;
        }

        /* Free up memory */
        xmlFree(buffer);
      }

      return content;
    }

Also aliased as: content=

[Validate]

Generated with the Darkfish Rdoc Generator 2.