xmlSetProp(fragment, XML_CIB_ATTR_SECTION, section);
set_xml_property_copy(fragment, XML_CIB_ATTR_SECTION, section);
createCibFragmentAnswer(const char *section, xmlNodePtr data, xmlNodePtr failed){    xmlNodePtr fragment = xmlNewNode(NULL, XML_CIB_TAG_FRAGMENT);    xmlSetProp(fragment, XML_CIB_ATTR_SECTION, section);    if(data != NULL)    {	if(strcmp(CRM_SYSTEM_CIB, data->name) == 0 && strcmp("all", section) == 0)	{	    CRM_DEBUG("Added entire cib to cib request");	    xmlAddChild(fragment, data);	}	else if(strcmp(data->name, section) == 0)	{	    CRM_DEBUG2("Added section (%s) to cib request", data->name);	    xmlNodePtr cib = xmlNewChild(fragment, NULL, XML_TAG_CIB, NULL);	    xmlAddChild(cib, data);	}	else	{	    cl_log(LOG_INFO, "Mismatch between section (%s) and data supplied (%s)... ignoring.", section, data->name);	}    }    else	cl_log(LOG_INFO, "No data to add to cib message");    if(failed != NULL && failed->children != NULL)    {	xmlAddChild(fragment, failed);    }    FNRET(fragment);}