Peter Flynn said:
No, it's not true, merely some people's opinion.
Some opinions are sound, some are not.
Attributes are there
to be used, and IMHO especially for numeric, categorical, and other
discrete data (see the article in the FAQ at
http://www.ucc.ie/xml/#attriborelem).
That's merely some people's opinion.
Seriously, generalized markup was designed to be used for textual
content, using attributes to specify properties of elements, not to carry
content. But since XML is already a goofed-up trivialization of
generalized markup, everyone and his brother can play with it as desired.
Some games are just more obscure and risky than others. It's usually the
intended _use_ of markup that will matter.
But just think about this: If you wish, or even need, to indicate changes
in the human language used in a document's content, you can do that for
content, using the xml:lang attribute (and an extra element if needed).
But there's no way to do anything like that for data in attribute values.
(This has been observed e.g. in HTML authoring: since the <img> element,
for embedding an image, was poorly designed to carry the image's textual
replacement in an attribute, alt="...", there is no way to indicate
changes in language in the textual replacement. For such reasons, an
<object> element was designed, for embedding data in general, and it has
the replacement text as the element's content.)