<FiedRef> tag. But I want different default values to these site columns for different content types. Consider I am having site column as Capital. I am creating content types as US, India, UK etc. I have added Capital site column to US, India, UK content types. I have added these content types to one list called, Countries. Now when I select India content type the default value for Capital column should be "Delhi", when I select US the default value of Capital column should be "Washington DC" etc. I read MSDN article which is saying Default Value for site column is obsolete. But even it won't display the site column, I want to have in content type definition. How to achieve?
No you can't do that because this will defy the purpose of Site Columns which are intend to be global in nature.
Workaround is to set the default value after adding the content type to a list.
Theoretically you could do this through Client Side Rendering. You would need to create a script for each content type, and attach it to the content type through the content type's JSLink property.
Then of course, in each script, you would set the field's value to the appropriate value for that content type.