In its historical origins, textual content is what the human reader gets to see and attributes are instructions to the compositor. "Document-oriented" XML designs continue to use this convention, and it does no harm. It's nice to know, for example, that string() applied to a mixed content element will give you meaningful text.
But that's only a convention. It's fairly meaningless for "data" as distinct from "documents". It's a useful convention, but attributes are metadata only if the document designer chose to follow this convention.
Michael Kay
Saxonica
>
> Besides, what difference does it make if people think that attributes are metadata? Can you give me a concrete, practical example showing where bad things happen because someone thought that attributes are metadata?
>
I had one this morning where I wanted a document to contain a summary of error messages extracted from various specs, and knowing that you can do string(xx) to get the message text, ignoring all the markup, is very handy.