At work we are being asked to create XML files to pass data to another offline application that will then create a second XML file to pass back in order to update some of ou
I am always surprised by the results of these kinds of discussions. To me there is a very simple rule for deciding whether data belongs in an attribute or as content and that is whether the data has navigable sub-structure.
So for example, non-markup text always belongs in attributes. Always.
Lists belong in sub-structure or content. Text which may over time include embedded structured sub-content belong in content. (In my experience there is relatively little of this - text with markup - when using XML for data storage or exchange.)
XML schema written this way is concise.
Whenever I see cases like , I think to myself "gee did the author think that there were going to be sub-elements within the make element?" is significantly more readable, there's no question about how whitespace would be handled etc.
Given just but the whitespace handling rules, I believe this was the clear intent of the XML designers.