    /*
     * call-seq:
     *  last_element_child
     *
     * Returns the last child node of this node that is an element.
     *
     * Example:
     *
     *   @doc.root.last_element_child.element? # => true
     */
    static VALUE last_element_child(VALUE self)
    {
      xmlNodePtr node, child;
      Data_Get_Struct(self, xmlNode, node);

      child = xmlLastElementChild(node);
      if(!child) return Qnil;

      return Nokogiri_wrap_xml_node(Qnil, child);
    }