Better place for Metadata

Architecturally which is a better place for the metadata? Is it in the code (as in C# Custom Attributes)? Or outside with XML/Config files containing the necessary data. My feeling is that keeping the metadata outside of the code gives much more flexibility and lot more generality to code dealing with the business logic. What do you say?
Better place for Metadata
===


Architecturally which is a better place for the metadata? Is it in the code (as in C# Custom Attributes)? Or outside with XML/Config files containing the necessary data. My feeling is that keeping the metadata outside of the code gives much more flexibility and lot more generality to code dealing with the business logic. What do you say?