XML files should (not to start a holy war) be structured as follows:
If it's data, or something that can be changed, then it should be like this:
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<Age>23</Age>
</Person>
If it's an attribute of the thing Person
then it should be like this:
<Person Type="Human">
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<Age>23</Age>
</Person>
There are multiple reasons for this practice, not the least of which includes the ease of fixing your XSLT Transforms whenever you change your method of retrieving Person data.
That's really the important part: Attributes define information about data (the Person Type), and the Data is something that is meant to fill in those holes. If you decide how you're going to change how you fill in those holes, then it becomes tougher if you've made them 'attributes' instead of 'data' when you want to Transform your XML later.