Embedding Content as Element Content or As An Attribute Value

Tyler Baker (tyler@infinet.com)
Tue, 30 Sep 1997 09:17:10 -0400


I am somewhat of a newbie to XML (aren't most people I suppose) as an
intermediary persistence framework for a distributed application I am
writing and I am currently in the process of writing several DTD's.

I looked at Microsoft's Channel Definition Format as well as many other
DTD's and noticed that many people seem to embed what seemingly should
be element content as a REQUIRED element attribute. In the case of CDF,
most of the elements are EMPTY with one attribute named VALUE that is
REQUIRED CDATA.

I would think that in these cases an "author" tag should embed its
content as follows <author>Mr John Smith</author>, rather than how
Microsoft CDF embeds its content which is <author VALUE="Mr John Smith"
/>.

Is this simply just a design preference, or else is there a concrete
reason why what seemingly is content should be embedded as an attribute.

If anyone could enlighten me as to what I should probably do here, then
that would be greatly appreciated.

Thanx in advance,

Tyler