Newbie Q

Dean Roddey roddey at us.ibm.com
Tue Aug 25 19:40:21 BST 1998


>Is there a formal rule for the use of Atrributes vs Elements? The
>assumption I am going on (per The XML Primer) is that Attributes are
>best used to communicate information to the browser/application, and
>Elements are best used for actual Data. Is this a valid assumption?
>
>In an EDI transaction, I was going to put the Header and Trailer
>information in attributes, with the actual Detail Segments as
>Elements...
>
>Any thoughts?

There are also practical issues I guess. If you need to validate the document
with a DTD,
there is much more control available to control the content of subelements. You
can
say that the parent element's content model allows this or that, or this, that
or the other,
etc...

With attributes, there is less flexibility. Each attribute is either there or
not. There is no
way to indicate that if you provide this one, you can't provide that one, or if
these two
are present, then you can't have that one, or if this one is present, then that
one has to
also be present, and so on (at least there is no way that I know of :-)

Beyond that I think its purely an issue of what works best for what you want to
do. And there
is sometimes an issue of readability and writeability if the documents are ever
dealt with
by actual humans <gasp> :-) Attributes with large values are kind of funky
(IMHO) to
make very readable, so I'd make any property that could have large values an
element
if all other things were equal (which of course they often aren't.)

Overall, I guess the best rule of thumb is that attributes should hold stuff
that either you
need to get to fast without wanting to iterate the sub elements, or which
provide 'control
information' as you indicated, or which need to have ID/IDREF semantics
enforced, or
that you might want to provide implicit defaults for, and probably some others
that
I can't think of :-)

----------------------------------------
Dean Roddey
Software Weenie
IBM Center for Java Technology - Silicon Valley
roddey at us.ibm.com

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list