OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   When is an attribute an attribute?

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <ak117@freenet.carleton.ca>
  • To: xml-dev@ic.ac.uk
  • Date: Mon, 6 Apr 1998 20:20:26 -0700

Roy Tennant writes:

 > I've been trying to figure this out for a while with no success. It
 > seems to me that there are several quite different ways one can
 > encode information in XML. Are all of the following correct? When
 > and why would you choose one over another? Does it matter? Thank
 > you for your indulgence as I puzzle out what must surely be readily
 > apparent to most of you.

It's not self-evident, and everyone has their own strongly-held
opinions.  Database people are tempted to force everything into
attributes, because attributes are (slightly) typed while character
data is not.  Generally, though, you need to consider the following:

- attribute values are harder to search for in search engines
- attribute values often don't appear on the screen in editing tools
  (you have to open a special dialog or popup to see them)
- attribute values can have no substructure
- attribute values can be slightly more awkward to access in
  processing APIs
- attributes are unordered, so there is no standard way to specify
  that one attribute's value should precede the other's (there is no
  guarantee that an API will give you the attributes in the same order
  that you specified them)

My rule is to use attributes in markup just as I would use footnotes
or endnotes in a book -- to provide extra information that is not part
of the main content, but that is useful to know about it.  By this
rule, all of your examples are correct, but under different

 > Example 1:
 > ---------
 > <BOOK TITLE="The Call of the Wild" AUTHOR="London, Jack"\>

In this case, all that really matters is that there's a book there.
An XML document author might see <BOOK> in the main editing window,
but get the attribute values in a pop-up only by clicking the mouse.
It's not essential to know the book's title or author, and it is
unlikely that anyone would want to search for it.

Yes: insurance company list of property to be replaced; customs list of
     objects declared at border
No:  online bookstore; library catalogue

 > Example 2:
 > ---------
 > <BOOK AUTHOR="London, Jack">The Call of the Wild</BOOK>

In this one, the title matters but the author is just extra
information.  You'd probably use this for encoding a title inline,
where the title will be printed as part of the paragraph (possibly in
italics), but the author's name would appear only in a separate index
or popup.

  <PARA>I enjoyed the book <BOOK AUTHOR="London, Jack">The Call of the

 > Example 3:
 > ---------
 > <BOOK>
 >    <TITLE>The Call of the Wild</TITLE>
 >    <AUTHOR>London, Jack</AUTHOR>
 > </BOOK>

In this one, both the title and author are important -- you'd use this
for the citation line of a quotation, in a bibliography, at an online
bookstore, or in a library catalogue.

I hope this helps.

All the best,


David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com

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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS