class Nokogiri::HTML::ElementDescription - nokogiri-1.6.3.1 Documentation

# class Nokogiri::HTML::ElementDescription

### Constants

ACTION_ATTR
ALIGN_ATTR
ALT_ATTR
APPLET_ATTRS
AREA_ATTRS
ATTRS
A_ATTRS
BASEFONT_ATTRS
BGCOLOR_ATTR
BLOCK
BLOCKLI_ELT
BODY_ATTRS
BODY_CONTENTS
BODY_DEPR
BUTTON_ATTRS
CELLHALIGN
CELLVALIGN
CLEAR_ATTRS
COL_ATTRS
COL_ELT
COMPACT_ATTR
COMPACT_ATTRS
CONTENT_ATTR
COREATTRS
CORE_ATTRS
CORE_I18N_ATTRS
DIR_ATTR
DL_CONTENTS
DefaultDescriptions

  This is filled in down below.

Desc

  Methods are defined protected by method_defined? because at this point the C-library or Java library is already loaded, and we don't want to clobber any methods that have been defined there.

EDIT_ATTRS
EMBED_ATTRS
EMPTY
EVENTS
FIELDSET_CONTENTS
FLOW
FLOW_PARAM
FONTSTYLE

  Attributes defined and categorized

FONT_ATTRS
FORMCTRL
FORM_ATTRS
FORM_CONTENTS
FRAMESET_ATTRS
FRAMESET_CONTENTS
FRAME_ATTRS
HEADING
HEAD_ATTRS
HEAD_CONTENTS
HREF_ATTRS
HR_DEPR
HTML_ATTRS
HTML_CDATA
HTML_CONTENT
HTML_FLOW
HTML_INLINE
HTML_PCDATA
I18N
I18N_ATTRS
IFRAME_ATTRS
IMG_ATTRS
INLINE
INLINE_P
INPUT_ATTRS
LABEL_ATTR
LABEL_ATTRS
LANGUAGE_ATTR
LEGEND_ATTRS
LINK_ATTRS
LIST
LI_ELT
MAP_CONTENTS
META_ATTRS
MODIFIER
NAME_ATTR
NOFRAMES_CONTENT
OBJECT_ATTRS
OBJECT_CONTENTS
OBJECT_DEPR
OL_ATTRS
OPTGROUP_ATTRS
OPTION_ATTRS
OPTION_ELT
PARAM_ATTRS
PCDATA
PHRASE
PRE_CONTENT
PROMPT_ATTRS
QUOTE_ATTRS
ROWS_COLS_ATTR
SCRIPT_ATTRS
SELECT_ATTRS
SELECT_CONTENT
SPECIAL
SRC_ALT_ATTRS
STYLE_ATTRS
TABLE_ATTRS
TABLE_CONTENTS
TABLE_DEPR
TALIGN_ATTRS
TARGET_ATTR
TEXTAREA_ATTRS
TH_TD_ATTR
TH_TD_DEPR
TR_CONTENTS
TR_ELT
TYPE_ATTR
UL_DEPR
VERSION_ATTR
WIDTH_ATTR

### Public Class Methods

[](tag_name) click to toggle source

Get ElemementDescription for `tag_name`

    static VALUE get_description(VALUE klass, VALUE tag_name)
    {
      const htmlElemDesc * description = htmlTagLookup(
          (const xmlChar *)StringValuePtr(tag_name)
      );

      if(NULL == description) return Qnil;
      return Data_Wrap_Struct(klass, 0, 0, (void *)description);
    }

### Public Instance Methods

block?() click to toggle source

Is this element a block element?

    # File lib/nokogiri/html/element_description.rb, line 6
    def block?
      !inline?
    end

default_sub_element click to toggle source

The default sub element for this element

    static VALUE default_sub_element(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if (description->defaultsubelt)
        return NOKOGIRI_STR_NEW2(description->defaultsubelt);

      return Qnil;
    }

deprecated? click to toggle source

Is this element deprecated?

    static VALUE deprecated_eh(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(description->depr) return Qtrue;
      return Qfalse;
    }

deprecated_attributes click to toggle source

A list of deprecated attributes for this element

    static VALUE deprecated_attributes(VALUE self)
    {
      htmlElemDesc * description;
      VALUE list;
      int i;

      Data_Get_Struct(self, htmlElemDesc, description);

      list = rb_ary_new();

      if(NULL == description->attrs_depr) return list;

      for(i = 0; description->attrs_depr[i]; i++) {
        rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_depr[i]));
      }

      return list;
    }

description click to toggle source

The description for this element

    static VALUE description(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      return NOKOGIRI_STR_NEW2(description->desc);
    }

empty? click to toggle source

Is this an empty element?

    static VALUE empty_eh(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(description->empty) return Qtrue;
      return Qfalse;
    }

implied_end_tag? click to toggle source

Can the end tag be implied for this tag?

    static VALUE implied_end_tag_eh(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(description->endTag) return Qtrue;
      return Qfalse;
    }

implied_start_tag? click to toggle source

Can the start tag be implied for this tag?

    static VALUE implied_start_tag_eh(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(description->startTag) return Qtrue;
      return Qfalse;
    }

inline? click to toggle source

Is this element an inline element?

    static VALUE inline_eh(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(description->isinline) return Qtrue;
      return Qfalse;
    }

inspect() click to toggle source

Inspection information

    # File lib/nokogiri/html/element_description.rb, line 18
    def inspect
      "#<#{self.class.name}: #{name} #{description}>"
    end

name click to toggle source

Get the tag name for this ElemementDescription

    static VALUE name(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(NULL == description->name) return Qnil;
      return NOKOGIRI_STR_NEW2(description->name);
    }

optional_attributes click to toggle source

A list of optional attributes for this element

    static VALUE optional_attributes(VALUE self)
    {
      htmlElemDesc * description;
      VALUE list;
      int i;

      Data_Get_Struct(self, htmlElemDesc, description);

      list = rb_ary_new();

      if(NULL == description->attrs_opt) return list;

      for(i = 0; description->attrs_opt[i]; i++) {
        rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_opt[i]));
      }

      return list;
    }

required_attributes click to toggle source

A list of required attributes for this element

    static VALUE required_attributes(VALUE self)
    {
      htmlElemDesc * description;
      VALUE list;
      int i;

      Data_Get_Struct(self, htmlElemDesc, description);

      list = rb_ary_new();

      if(NULL == description->attrs_req) return list;

      for(i = 0; description->attrs_depr[i]; i++) {
        rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_req[i]));
      }

      return list;
    }

save_end_tag? click to toggle source

Should the end tag be saved?

    static VALUE save_end_tag_eh(VALUE self)
    {
      htmlElemDesc * description;
      Data_Get_Struct(self, htmlElemDesc, description);

      if(description->saveEndTag) return Qtrue;
      return Qfalse;
    }

sub_elements click to toggle source

A list of allowed sub elements for this element.

    static VALUE sub_elements(VALUE self)
    {
      htmlElemDesc * description;
      VALUE list;
      int i;

      Data_Get_Struct(self, htmlElemDesc, description);

      list = rb_ary_new();

      if(NULL == description->subelts) return list;

      for(i = 0; description->subelts[i]; i++) {
        rb_ary_push(list, NOKOGIRI_STR_NEW2(description->subelts[i]));
      }

      return list;
    }

to_s() click to toggle source

Convert this description to a string

    # File lib/nokogiri/html/element_description.rb, line 12
    def to_s
      "#{name}: #{description}"
    end

### Private Instance Methods

default_desc() click to toggle source

    # File lib/nokogiri/html/element_description_defaults.rb, line 20
    def default_desc
      DefaultDescriptions[name.downcase]
    end