class Nokogiri::XML::ElementContent - nokogiri-1.10.3 Documentation

# 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);
    }