fragment = create_cib_fragment(xml_top, NULL);
fragment = create_cib_fragment(xml_top, section);
update_attr(cib_t *the_cib,	    const char *section, const char *node_uuid, const char *set_name,	    const char *attr_id, const char *attr_name, const char *attr_value){	const char *tag = NULL;		enum cib_errors rc = cib_ok;	crm_data_t *xml_top = NULL;	crm_data_t *xml_obj = NULL;	crm_data_t *fragment = NULL;	if(attr_id == NULL) {		attr_id = attr_name;	}	if(attr_name == NULL) {		attr_name = attr_id;	}	CRM_ASSERT(attr_id != NULL);	CRM_ASSERT(attr_name != NULL);		if(safe_str_eq(section, XML_CIB_TAG_CRMCONFIG)) {		tag = NULL;			} else if(safe_str_eq(section, XML_CIB_TAG_NODES)) {		tag = XML_CIB_TAG_NODE;			} else if(safe_str_eq(section, XML_CIB_TAG_STATUS)) {		xml_obj = create_xml_node(xml_obj, XML_CIB_TAG_STATE);		crm_xml_add(xml_obj, XML_ATTR_ID, node_uuid);		if(xml_top == NULL) {			xml_top = xml_obj;		}		tag = XML_TAG_TRANSIENT_NODEATTRS;	} else {		return cib_NOSECTION;	}		crm_debug("Creating %s/%s", section, tag);	if(tag != NULL) {		xml_obj = create_xml_node(xml_obj, tag);		crm_xml_add(xml_obj, XML_ATTR_ID, node_uuid);		if(xml_top == NULL) {			xml_top = xml_obj;		}	}	if(set_name != NULL) {		xml_obj = create_xml_node(xml_obj, XML_TAG_ATTR_SETS);		if(xml_top == NULL) {			xml_top = xml_obj;		}		crm_xml_add(xml_obj, XML_ATTR_ID, set_name);		xml_obj = create_xml_node(xml_obj, XML_TAG_ATTRS);	}	xml_obj = create_xml_node(xml_obj, XML_CIB_TAG_NVPAIR);	if(xml_top == NULL) {		xml_top = xml_obj;	}	crm_xml_add(xml_obj, XML_ATTR_ID, attr_id);	crm_xml_add(xml_obj, XML_NVPAIR_ATTR_NAME, attr_name);	crm_xml_add(xml_obj, XML_NVPAIR_ATTR_VALUE, attr_value);		fragment = create_cib_fragment(xml_top, NULL);	crm_log_xml_debug_2(xml_top, "Update");	crm_log_xml_debug(fragment, "Update Fragment");		free_xml(xml_top);		rc = the_cib->cmds->modify(the_cib, section, fragment, NULL,				   cib_sync_call|cib_quorum_override);	if(rc != cib_ok) {		crm_err("Error setting %s=%s (section=%s, set=%s): %s",			attr_name, attr_value, section, crm_str(set_name),			cib_error2string(rc));	}		free_xml(fragment);	return rc;}