A self-consistent mass absorption correction for silicate analysis by X-ray fluorescence