    /*
     * call-seq:
     *  content=
     *
     * Set the content for this Node
     */
    static VALUE set_content(VALUE self, VALUE content)
    {
      xmlNodePtr node, child, next ;
      Data_Get_Struct(self, xmlNode, node);

      child = node->children;
      while (NULL != child) {
        next = child->next ;
        xmlUnlinkNode(child) ;
        NOKOGIRI_ROOT_NODE(child) ;
        child = next ;
      }

      xmlNodeSetContent(node, (xmlChar *)StringValuePtr(content));
      return content;
    }