Here's the rule of thumb that I go by. I found this in some documentation or white paper or something discussing XML structure.
When do I use a node?: When there will be more than one occurrence of a particular entity (in your case book(s)).
When do I use an attribute?: When the entity is a property of it's parent item. One exception I make is if said entity is going to be very large or some other special case (CDATA).
So you should probably structure your XML like so:
Code:
<booklist>
<book title="Title of the book" subtitle="Subtitle of the book" />
[n... <book />]
</booklist>
Obviously, my guidelines are only a suggestion, but regardless of that, you should always stay away from having a node which contains both inner text and child nodes.
Peter