class Nokogiri::XML::ElementContent

Represents the allowed content in an Element Declaration inside a DTD:

<?xml version="1.0"?><?TEST-STYLE PIDATA?>
<!DOCTYPE staff SYSTEM "staff.dtd" [
   <!ELEMENT div1 (head, (p | list | note)*, div2*)>
]>
</root>

ElementContent represents the tree inside the <!ELEMENT> tag shown above that lists the possible content for the div1 tag.

Constants

ELEMENT
MULT
ONCE

Possible content occurrences

OPT
OR
PCDATA

Possible definitions of type

PLUS
SEQ

Attributes

document[R]

Public Instance Methods

children() click to toggle source

Get the children of this ElementContent node

# File lib/nokogiri/xml/element_content.rb, line 31
def children
  [c1, c2].compact
end
name click to toggle source

Get the require element name

static VALUE get_name(VALUE self)
{
  xmlElementContentPtr elem;
  Data_Get_Struct(self, xmlElementContent, elem);

  if(!elem->name) return Qnil;
  return NOKOGIRI_STR_NEW2(elem->name);
}
occur click to toggle source

Get the element content occur flag. Possible values are ONCE, OPT, MULT or PLUS.

static VALUE get_occur(VALUE self)
{
  xmlElementContentPtr elem;
  Data_Get_Struct(self, xmlElementContent, elem);

  return INT2NUM((long)elem->ocur);
}
prefix click to toggle source

Get the element content namespace prefix.

static VALUE get_prefix(VALUE self)
{
  xmlElementContentPtr elem;
  Data_Get_Struct(self, xmlElementContent, elem);

  if(!elem->prefix) return Qnil;

  return NOKOGIRI_STR_NEW2(elem->prefix);
}
type click to toggle source

Get the element content type. Possible values are PCDATA, ELEMENT, SEQ, or OR.

static VALUE get_type(VALUE self)
{
  xmlElementContentPtr elem;
  Data_Get_Struct(self, xmlElementContent, elem);

  return INT2NUM((long)elem->type);
}

Private Instance Methods

c1 click to toggle source

Get the first child.

static VALUE get_c1(VALUE self)
{
  xmlElementContentPtr elem;
  Data_Get_Struct(self, xmlElementContent, elem);

  if(!elem->c1) return Qnil;
  return Nokogiri_wrap_element_content(rb_iv_get(self, "@document"), elem->c1);
}
c2 click to toggle source

Get the first child.

static VALUE get_c2(VALUE self)
{
  xmlElementContentPtr elem;
  Data_Get_Struct(self, xmlElementContent, elem);

  if(!elem->c2) return Qnil;
  return Nokogiri_wrap_element_content(rb_iv_get(self, "@document"), elem->c2);
}