Nokogiri::HTML::ElementDescription

class Nokogiri::HTML::ElementDescription

Parent:
Object

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
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) Show source

Get ElemementDescription for tag_name

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

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

Public Instance Methods

block?() Show source

Is this element a block element?

# File lib/nokogiri/html/element_description.rb, line 6
def block?
  !inline?
end
default_sub_element Show 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? Show 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 Show 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 Show 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? Show 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? Show 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? Show 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? Show 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() Show source

Inspection information

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

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 Show 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 Show 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? Show 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 Show 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() Show source

Convert this description to a string

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

© 2008–2016 Aaron Patterson, Mike Dalessio, Charles Nutter, Sergio Arbeo
Patrick Mahoney, Yoko Harada, Akinori Musha, John Shahid
Licensed under the MIT License.

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部