A question rising in the mind of XML/DTD designers is whether to model and encode retain information using an attribute, or alternatively, using an element.
1. Using an element: Lord of the Ring...: If you consider the information in question to be part of the essential material that is being communicated or expressed in the XML, put it in an element
2. Using an attribute: : If you consider the information to be incidental or peripheral to the main interaction, or purely intended to help applications process the main interaction, use attributes.
The principle is data goes in components and metadata goes in attributes. Elements are also useful when they occupy special characters like "<", ">", etc which are harder to accept in attributes. The most important reason to use component is its extensibility. It is far simpler to build child elements to reflect complex content than to split an attribute into pieces. You may use attributes along with components to refine your understanding of that element with extra information.